Current protection apparatus and method

ABSTRACT

A current protection apparatus ( 200 ) and current protection method ( 1000 ) that may include programmable current protection characteristics has been disclosed. A current protection apparatus ( 200 ) may include a power distribution unit ( 230 ) with power distribution outlets (PDO- 1  to PDO- 8 ), each having a corresponding circuit breaker unit (CB 1  to CB 8 ). Each circuit breaker unit (CB 1  to CB 8 ) may operate in response to a processing unit ( 236 ) that can sample current values flowing between a respective power distribution outlet (PDO- 1  to PDO- 8 ) and a load device (LD 1  to LD 8 ). Processing unit  236  may operate under control of software stored on a memory ( 238 ) to control a switching circuit ( 320 ). Current protection characteristics for each circuit breaker unit may be independently programmed and/or altered by a user, for example by way of a computer ( 250 ). In this way, each power distribution outlet (PDO- 1  to PDO- 8 ) may have current rating characteristics independently provided for a particular load device (LD 1  to LD 8 ).

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from provisional patent application60/378,342, filed May 6, 2002, U.S. patent application Ser. No.10/431,333, filed May 6, 2003, and U.S. patent application Ser. No.10/870,853 filed Jun. 16, 2004, all of which the contents areincorporated by reference herein.

TECHNICAL FIELD

The present invention relates generally to a current protectionapparatus and more particularly to a current protection apparatusincluding a programmable characteristic and current protection method.

COPYRIGHT AUTHORIZATION

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all (copyright ormask work) rights whatsoever.

BACKGROUND OF THE INVENTION

Early in the development of modern networking equipment such as routers,it was realized that at times a particular piece of network equipmentmight hang or “crash.” In such instances, a human operator often had tointervene by traveling to the location of the equipment and rebooting orpower cycling the equipment in order to get that particular piece ofequipment working. Power cycling and information about consumed powerare also of interest in a number of computer equipment and otherequipment settings.

The discussion of any work, publications, sales, or activity anywhere inthis submission, including in any documents submitted with thisapplication, shall not be taken as an admission that any such workconstitutes prior art. The discussion of any activity, work, orpublication herein is not an admission that such activity, work, orpublication existed or was known in any particular jurisdiction.

A power distribution unit (PDU) can be used to provide power managementto a plurality of devices. Referring now to FIG. 30, a block schematicdiagram of an apparatus including a conventional PDU for powermanagement to a plurality of devices is set forth and given the generalreference character 100.

Apparatus 100 includes a conventional PDU 130 that is connected to awall outlet 110 through a power cord 120 at inlet 132. Wall outlet 110can be connected to a 120 Volt Alternating Current (120 VAC) as a powersupply voltage, as but one example. Conventional PDU 130 includes eightpower distribution outlets (PDO-1 to PDO-8). Each power distributionoutlet (PDO-1 to PDO-8) can be connected to a respective load device(LD1 to LD8) through a respective power cord (PC-1 to PC-8).

Conventional PDU 130 also includes a circuit breaker 134. Circuitbreaker 134 is connected between the inlet 132 and the powerdistribution outlets (PDO-1 to PDO-8). In this way, the sum of thecurrents flowing from each power distribution outlet (PDO-1 to PDO-8) tothe respective load device (LD1 to LD8) flows through circuit breaker134.

Circuit breaker 134 “trips” or becomes an open circuit when the currentexceeds the overcurrent rating of the circuit breaker 134. When thecircuit breaker 134 trips, the power supply voltage is disconnected fromall of the power distribution outlets (PDO-1 to PDO-8) and all of therespective load devices (LD1 to LD8). In this way, even if, for example,load device LD3 is causing the overcurrent condition, all of the otherload devices (LD1, LD2 and LD4 to LD8) also are disconnected from thepower supply voltage.

Conventional PDU 130 has various drawbacks. For example, in theabove-mentioned situation load device LD3 may not be a system criticaldevice. However, load device LD4 may be system critical. In this case, asystem critical load device LD4, such as a network server for example,is disconnected from the power supply when a less critical device iscausing the overcurrent condition.

Another drawback for conventional PDU 130 is where one of the loaddevices, for example load device LD5, needs protection at a currentlower than the overcurrent rating of circuit breaker 134. For example,load device LD5 could be connected to power distribution outlet PDO-5with a power cord that is rated to only 5 amps, but circuit breaker 134can have an overcurrent rating of 15 amps. In this case, load device LD5may have a current exceeding 5 amps without causing circuit breaker 134to trip if the other load devices (LD1 to LD4 or LD6 to LD8)collectively draw less than 10 amps. Of course, in the case where onlyload device LD5 is connected to conventional power distribution unit130, load device LD5 would not have sufficient overcurrent protectionunder any condition.

Another drawback for conventional PDU 130 occurs when there is atemporary current surge in one of the load devices (LD1 to LD8). In thiscase, circuit breaker 134 can trip even though the current surge willnot cause an electrical failure to the offending load device (LD1 toLD8). As previously mentioned, when circuit breaker 134 trips, all theload devices (LD1 to LD8) lose power.

In view of the above discussion, it would be desirable to provide acurrent protection apparatus that may provide individual and/orcustomized current protection to a load device.

It would also be desirable to provide a method of current protectionthat may provide individual and/or customized current protection to aload device.

It would also be desirable to provide a current protection apparatus andmethod of current protection that may provide protection from currentsurges that may damage an individual load device without unwarrantedprotection against a temporary current surge that may not be sufficientto cause an electrical failure of a load device. It would further bedesirable to provide such protection in a power distribution unit.

It would also be desirable to provide a current protection apparatus andmethod of current protection for a power distribution unit that mayprovide individual and customized current protection to each load deviceconnected to a power distribution outlet.

Additionally, a method, system, and apparatus for remote powermanagement and monitoring has been set forth in commonly owned andco-pending U.S. patent application Ser. No. 10/625,837 filed Jul. 22,2003, U.S. patent application Ser. No. 10/431,333 filed May 6, 2003,U.S. Provisional Patent Application Ser. No. 60/378,342 filed May 6,2002, Canadian Patent Application Number 2,428,285 filed May 6, 2003,and European Patent Application Number 03252833.3 filed May 6, 2003. Thefull disclosures of these patent applications are incorporated byreference.

SUMMARY OF THE INVENTION

According to the present embodiments, a current protection apparatus andcurrent protection method that may include programmable currentprotection characteristics is disclosed. A current protection apparatusmay include a power distribution unit. A power distribution unit mayinclude power distribution outlets, each having a corresponding circuitbreaker unit. Each circuit breaker unit may operate in response to aprocessing unit to sample current values corresponding to a currentflowing between a respective power distribution outlet and a loaddevice. A processing unit may operate under control of software storedin a memory to control a switching circuit. Current protectioncharacteristics for each circuit breaker unit may be independentlyprogrammed and/or altered by a user, for example by way of a computer.In this way, each power distribution outlet may have current ratingcharacteristics independently provided for a particular load device.

According to one aspect of the embodiments, a current protection methodmay include the steps of sampling a current value of a current flowingfrom a power source to a load device for at least one currentcharacteristic and interrupting the current flowing from the powersource to the load device according to a comparison between the at leastone current characteristic and at least one programmable limit.

According to another aspect of the embodiments, the at least oneprogrammable limit may be a predetermined current limit value.

According to another aspect of the embodiments, the at least oneprogrammable limit may include a predetermined time period and thecurrent value may exceed a predetermined current limit value foressentially a predetermined time period.

According to another aspect of the embodiments, the step of sampling acurrent value of a current flowing from a power source to a load devicefor at least one current characteristic may be repeated a plurality oftimes during a predetermined time period.

According to another aspect of the embodiments, the step of sampling acurrent value may include taking current readings of the current flowingfrom the power source to the load device and performing parametriccalculations to provide the current value.

According to another aspect of the embodiments, parametric calculationsmay include peak current root mean square current, and crest factorharmonic current.

According to another aspect of the embodiments, a current protectionmethod may include the steps of sampling a first current value of afirst current flowing from a first power distribution outlet to a firstload device and a second current value of a second current flowing froma second power distribution outlet to a second load device, comparingthe first current value with a first predetermined current limit valueand a second current value with a second predetermined current limitvalue, and interrupting the first current flowing from the first powerdistribution outlet to the first load device in response to the firstcurrent value exceeding the first predetermined current limit value andinterrupting the second current flowing from the second powerdistribution outlet to the second load device in response to the secondcurrent value exceeding the second predetermined current limit value.

According to another aspect of the embodiments, the first predeterminedcurrent limit value and the second predetermined current limit value areprogrammable.

According to another aspect of the embodiments, the step of comparingthe first current value with a first predetermined current value and thesecond current value with a second predetermined current limit value maybe performed with software.

According to another aspect of the embodiments, when the step ofcomparing the first current value results in the first current valueexceeding the first predetermined current limit value, repeating thestep of sampling the first current value and the step of comparing thefirst current value with the first predetermined current limit valueafter a first predetermined time period. When the step of comparing thesecond current value results in the second current value exceeding thesecond predetermined current limit value, repeating the step of samplingthe second current value and the step of comparing the second currentvalue with the second predetermined current limit value after a secondpredetermined time period. The first current flowing from the firstpower distribution outlet is interrupted only when the second step ofcomparing results in the first current value exceeding the firstpredetermined current limit value and the second current flowing fromthe second power distribution outlet is interrupted only when the secondstep of comparing results in the second current value exceeding thesecond predetermined current limit value.

According to another aspect of the embodiments, the first predeterminedtime period and the second predetermined time period may be the same.

According to another aspect of the embodiments, the first predeterminedtime period and the second predetermined time period may be different.

According to another aspect of the embodiments, the step of comparingthe first current value with the first predetermined current limit valueafter the first predetermined time period and the step of sampling thesecond current value and the step of comparing the second current valuewith the second predetermined current limit value after the secondpredetermined time period may be performed with software.

According to another aspect of the embodiments, a current protectionmethod for a power distribution unit may include the steps of sampling aplurality of current values for a plurality of currents, each of theplurality of currents comprising a current flowing between one of aplurality of power distribution outlets and a corresponding load device,comparing each of the plurality of current values with a correspondingone of a plurality of predetermined current limit values, andinterrupting the current flowing between the corresponding powerdistribution outlet and the corresponding load device if thecorresponding current value is greater than the correspondingpredetermined current limit value.

According to another aspect of the embodiments, each of the plurality ofpredetermined current limit values may be programmable.

According to another aspect of the embodiments, the step of comparingeach of the plurality of current values with the corresponding one ofthe plurality of predetermined current limit values may be performedwith software.

According to another aspect of the embodiments, a current protectioncomputer program embodied on a computer readable media may include: areading code portion, for reading a plurality of current values for aplurality of currents, each of the plurality of currents comprising acurrent flowing between one of a plurality of power distribution outletsand a corresponding load device; and a comparing code portion, forcomparing each of the plurality of current values with a correspondingone of a plurality of predetermined current limit values and providingan interrupt command for interrupting the current flowing between thecorresponding power distribution outlet and the corresponding loaddevice if the corresponding current value is greater than thecorresponding predetermined current limit value.

According to another aspect of the embodiments, the reading code portionmay read the plurality of current values during a predetermined timeperiod and the comparing code portion may provide the interrupt commandif the corresponding current value is greater than the correspondingpredetermined current value for essentially the predetermined timeperiod.

According to another aspect of the embodiments, a current protectionapparatus may include a current sampling circuit, a processing unit, anda switching circuit. The current sampling circuit may sample a firstcurrent value of a current flowing from a power source to a first loaddevice. A processing unit may receive the first current value and may becontrolled by a software program to compare the first current value witha predetermined current limit value to generate a first compare result.A switching circuit may be coupled between the power source and thefirst load device. The switching device may interrupt the currentflowing from the power source to the load device in response to at leastthe first compare result indicating that the first current value mayexceed the predetermined current limit value.

According to another aspect of the embodiments, the current samplingcircuit may sample a second current value of the current flowing fromthe power source to the first load device a first predetermined timeperiod after the first current value is sampled. The processing unit mayreceive the second current value and may be controlled by the softwareprogram to compare the second current value with the predeterminedcurrent limit value to generate a second compare result. The switchingcircuit may interrupt the current flowing from the power source to theload device in response to the second compare result indicating that thesecond current value exceeds the predetermined current limit value.

According to another aspect of the embodiments, the current samplingcircuit may sample a plurality of intermediate current values of thecurrent flowing from the power source to the first load device duringthe first predetermined time period after the first current value issampled. The processing unit may receive the plurality of intermediatecurrent values and may be controlled by the software program to comparethe plurality of intermediate current values with the predeterminedcurrent limit value to generate a plurality of intermediate compareresults. The switching circuit may interrupt the current flowing formthe power source to the load device in response to the plurality ofintermediate compare results indicating each of the plurality ofintermediate current values exceeds the predetermined current limitvalue and to the second compare result indicating that the secondcurrent value exceeds the predetermined current limit value.

According to another aspect of the embodiments, the current samplingcircuit may include an analog to digital converter.

According to another aspect of the embodiments, the switching circuitmay include a mechanical relay or a solid state relay.

According to another aspect of the embodiments, the current samplingcircuit may include a current sensing circuit, such as an isolation stepdown transformer, a Hall effect device, a sense resistor, or amagnetometer.

According to another aspect of the embodiments, a current protectionapparatus for a power distribution unit may include a current samplingcircuit, a processing unit, a first switching circuit, and a secondswitching circuit. A current sampling circuit may sample a first currentvalue of a first current flowing from a first power distribution outletand a first load device and a second current flowing from a second powerdistribution outlet and a second load device. A processing unit mayreceive the first current value and the second current value. Theprocessing unit may be controlled by a software program to compare thefirst current value with a first predetermined current limit value togenerate a first comparison result and compare a second current valuewith a second predetermined current limit value to generate a secondcomparison result. The first switching circuit may be coupled betweenthe first power distribution outlet and the first load device. The firstswitching circuit may interrupt the first current flowing from the firstpower distribution outlet to the first load device in response to atleast the first compare result indicating that the first current valueexceeds the first predetermined current limit value. The secondswitching circuit may be coupled between the second power distributionoutlet and the second load device. The second switching circuit mayinterrupt the second current flowing from the second power distributionoutlet to the second load device in response to at least the secondcompare result indicating that the second current value exceeds thesecond predetermined current limit value.

According to another aspect of the embodiments, the current samplingcircuit may sample a third current value of the current flowing from thefirst power distribution outlet to the first load device a firstpredetermined time period after the first current value is sampled whenthe first current value exceeds the first predetermined current limitvalue and may sample a fourth current value of the current flowing fromthe second power distribution outlet to the second load device a secondpredetermined time period after the second current value is sampled whenthe second current value exceeds the second predetermined current limitvalue. The processing unit may receive the third current value if thefirst current value exceeds the first predetermined current limit valueand may be controlled by the software program to compare the thirdcurrent value with the first predetermined current limit value togenerate a third comparison result and may receive the fourth currentvalue if the second current value exceeds the second predeterminedcurrent limit value and may be controlled by the software program tocompare the fourth current value with the second predetermined currentlimit value to generate a fourth comparison result. The first switchingcircuit may interrupt the first current flowing from the first powerdistribution outlet to the first load device in response to the thirdcompare result indicating that the third current value exceeds the firstpredetermined current limit value. The second switching circuit mayinterrupt the second current flowing from the second power distributionoutlet to the second load device in response to the fourth compareresult indicating that the fourth current value exceeds the secondpredetermined current limit value.

According to another aspect of the embodiments, the power distributionunit may include the first power distribution outlet and the secondpower distribution outlet.

According to another aspect of the embodiments, a current protectionapparatus for a power distribution unit may include a current samplingcircuit, a processing unit, and a plurality of switching circuits. Thecurrent sampling circuit may sample a plurality of first current values,each first current value corresponding to a current flowing from one ofa plurality of power distribution outlets to a corresponding one of aplurality of load devices. The processing unit may receive the pluralityof first current values and may be controlled by a software program tocompare each of the plurality of first current values with acorresponding one of a plurality of predetermined current limit valuesto generate a plurality of first compare results. Each one of theplurality of switching circuits may be coupled between one of theplurality of power distribution outlets and a corresponding one of theplurality of load devices. Each one of the plurality of switchingdevices may interrupt the corresponding one of the plurality of currentsflowing between one of the plurality of power distribution outlets andthe corresponding one of the plurality of load devices in response to atleast the corresponding one of the plurality of first compare resultsindicating that the corresponding one of the plurality of first currentvalues is greater than the corresponding one of the plurality ofpredetermined current limit values.

According to another aspect of the embodiments, when the correspondingone of the plurality of compare results indicates that the correspondingone of the plurality of current values is greater than the correspondingone of the plurality of current values, the current sampling circuit maysample at least a second current value corresponding to the currentflowing from the one of the plurality of power distribution outlets tothe corresponding one of the plurality of load devices a predeterminedtime period after the sampling of the corresponding first current value.The processing unit may be coupled to receive the at least secondcurrent value and may be controlled by the software program to comparethe at least second current value with the corresponding one of aplurality of predetermined current limit values to generate a secondcompare result. The corresponding one of the plurality of switchingdevices may interrupt the corresponding one of the plurality of currentsflowing between one of the plurality of power distribution outlets andthe corresponding one of the plurality of load devices in response to atleast the second compare result indicating that the second current valueis greater than the corresponding one of the plurality of predeterminedcurrent limit values.

According to another aspect of the embodiments, the power distributionunit may include the plurality of power distribution outlets, thecurrent sampling circuit, the processing unit, and the plurality ofswitching circuits.

The present invention relates to a method and/or system and/or apparatusfor providing new capabilities in power supply and/or power cyclingmanagement. In specific embodiments, the invention involves a methodand/or system and/or apparatus for remotely managing and monitoring apower supply over two or more different interfaces including, forexample, a telephone interface and/or a network-based (e.g., HTTP, SNMP)interface and/or a serial interface. In further embodiments, theinvention involves one or more methods that may be implemented using adata handling device or system, such as a computer or other informationenabled device. In further embodiments, the invention involves methodsand/or systems for power management over a communication network and/ortelephone network.

Various strategies have been proposed for performing remote powerswitching and/or management and/or performing intelligent scheduling ofthe turning on and turning off of power cycling. According to specificembodiments, the present invention is involved with methods and/orsystems and/or devices that can be used together or independently tomonitor and/or control power supplies. In specific embodiments, thepresent invention can be understood as involving new methods related topower management.

A smart power supply according to specific embodiments of the inventionfurther includes one or more novel features such as: individual currentmonitoring of power outlets; user adjustable stagger starting and/oroutlet scheduling; and text-based menu drive telnet and serialinterface.

The invention and various specific aspects and embodiments will bebetter understood with reference to the following drawings and detaileddescriptions. For purposes of clarity, this discussion refers todevices, methods, and concepts in terms of specific examples. However,the invention and aspects thereof may have applications to a variety oftypes of devices and systems. It is therefore intended that theinvention not be limited except as provided in the attached claims andequivalents.

Furthermore, it is well known in the art that logic systems and methodssuch as described herein can include a variety of different componentsand different functions in a modular fashion. Different embodiments ofthe invention can include different mixtures of elements and functionsand may group various functions as parts of various elements. Forpurposes of clarity, the invention is described in terms of systems thatinclude many different innovative components and innovative combinationsof innovative components and known components. No inference should betaken to limit the invention to combinations containing all of theinnovative components listed in any illustrative embodiment in thisspecification.

In some of the drawings and detailed descriptions below, the presentinvention is described in terms of the important independent embodimentof a system operating on a digital data network. This should not betaken to limit the invention, which, using the teachings providedherein, can be applied to other situations, such as cable televisionnetworks, wireless networks, etc. Furthermore, in some aspects, thepresent invention is described in terms of client/server systems. Anumber of computing systems and computing architectures are described inthe art as client/server art. For the purposes of this description,client/server should be understood to include any architecture orconfiguration wherein an element acting as a client accesses a remoteand/or separate program or device that is providing the desired service(e.g., a server).

All references, publications, patents, and patent applications citedherein are hereby incorporated by reference in their entirety for allpurposes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example initial serialinterface and method according to specific embodiments of the presentinvention.

FIG. 2 is a block diagram illustrating an example serial settingsinterface and method according to specific embodiments of the presentinvention.

FIG. 3 is a block diagram illustrating an example serial time/dateinterface and method according to specific embodiments of the presentinvention.

FIG. 4 is a block diagram illustrating an example serial networkinterface and method according to specific embodiments of the presentinvention.

FIG. 5 is a block diagram illustrating an example serial telephoneinterface and method according to specific embodiments of the presentinvention.

FIG. 6 is a block diagram illustrating an example email interface andmethod according to specific embodiments of the present invention.

FIG. 7 is a block diagram illustrating an example user settingsinterface and method according to specific embodiments of the presentinvention.

FIG. 8 is a block diagram illustrating an example user modificationinterface and method according to specific embodiments of the presentinvention.

FIG. 9 is a block diagram illustrating an example initial web-basedinterface and method according to specific embodiments of the presentinvention.

FIG. 10 is a block diagram illustrating an example outlet schedulinginterface and method according to specific embodiments of the presentinvention.

FIG. 11 is a block diagram illustrating an example outlet label andproperties modification interface and method according to specificembodiments of the present invention.

FIG. 12 is a block diagram illustrating an example logging interface andmethod according to specific embodiments of the present invention.

FIG. 13 is a block diagram illustrating an example user interface andmethod according to specific embodiments of the present invention.

FIG. 14 is a block diagram illustrating an example user modificationinterface and method according to specific embodiments of the presentinvention.

FIG. 15 is a block diagram illustrating an example web-based setupinterface and method according to specific embodiments of the presentinvention.

FIG. 16 is a block diagram illustrating an example networkidentification interface and method according to specific embodiments ofthe present invention.

FIG. 17 is a block diagram illustrating an example telephone setupinterface and method according to specific embodiments of the presentinvention.

FIG. 18 is a block diagram illustrating an example logging setupinterface and method according to specific embodiments of the presentinvention.

FIG. 19 is a block diagram illustrating an example date/time setupinterface and method according to specific embodiments of the presentinvention.

FIG. 20 is a block diagram illustrating an example SNMP setup interfaceand method according to specific embodiments of the present invention.

FIG. 21 is a block diagram illustrating an example options setupinterface and method according to specific embodiments of the presentinvention.

FIG. 22A-B is a diagram illustrating an example of external features andappearance of an example thee connector configurable power supplyaccording to specific embodiments of the present invention.

FIG. 23A-B is a diagram illustrating an example of external features andappearance of an example two connector power supply according tospecific embodiments of the present invention.

FIG. 24 is a block diagram illustrating an example logic modules of aconfigurable power supply according to specific embodiments of thepresent invention.

FIG. 25A-B is a block diagram illustrating in further details majorfunctional components of an example configurable power supply accordingto specific embodiments of the present invention.

FIG. 26 is a block diagram illustrating details a microcontroller andother control logic of an example configurable power supply according tospecific embodiments of the present invention.

FIG. 27 is a block diagram illustrating details of three power relays ofan example configurable power supply according to specific embodimentsof the present invention.

FIG. 28A-B is a block diagram illustrating details of three currentsensors of an example configurable power supply according to specificembodiments of the present invention.

FIG. 29 is a block diagram showing a representative example logic devicein which various aspects of the present invention may be embodied.

FIG. 30 is a block schematic diagram of an apparatus including aconventional power distribution unit (PDU) for power management of aplurality of devices.

FIG. 31 is a block schematic diagram of a power distribution apparatusaccording to an embodiment.

FIG. 32 is a circuit schematic diagram of selected portions of a powerdistribution unit according to an embodiment.

FIG. 33 is a user interface for inputting programmable values for apower distribution unit according to an embodiment.

FIG. 34 is a user interface for monitoring a power distribution unitaccording to an embodiment.

FIG. 35 is a timing diagram showing a first mode of operation forembodiments of the present invention.

FIG. 36 is a timing diagram showing a second mode of operation forembodiments of the present invention.

FIG. 37 is a timing diagram showing a third mode of operation forembodiments of the present invention.

FIG. 38 is a flow diagram of a method according to one embodiment of thepresent invention.

FIG. 39 is a flow diagram of a method according to another embodiment ofthe present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Various embodiments of the present invention will now be described indetail with reference to a number of drawings.

According to specific embodiments, the present invention can be embodiedinto an example power switch product, sometimes referred to as the SPS(Smart Power Switch)™ power controller. In specific embodiments, adevice built according to specific embodiments of the invention caninclude three different interfaces, such as, for example, serial,telephone, network. Such embodiments may be referred to here as theTriCom™ or the Tri-n (with n indicated the number of controlled outletsprovided and tri indicated the presence of three interfaces, e.g.,Tri-8™). In other embodiments, a device built according to specificembodiments of the invention can include two different interfaces, suchas, for example, serial/telephone or serial/network ortelephone/network. Such embodiments may be referred to herein as theDualCom™ or the Dual-n (with n indicated the number of controlledoutlets provided and tri indicated the presence of three interfaces.

1. Interfaces

Thus, a device according to specific embodiments of the presentinvention is a power distribution unit that utilizes multiple differentmodes of communication. In particular embodiments, an SPS can beaccessed via serial, Ethernet or direct phone. These interfaces canprovide either identical functionality or functionality can vary fordifferent interfaces. For example, through the serial and Ethernetinterfaces a user can determine and change the state of each outlet,determine the amount of current that each outlet is drawing, and add ormodify scheduled on/off events on outlets. In specific embodiments, allof these functions can be performed in real time.

Serial Interface

According to specific embodiments of the present invention, a serialinterface uses a standard serial port protocol, so that any informationdevices (e.g., a laptop, personal computer, or digital controller) withan available corn or com-like port can use this direct connection to theSPS. The serial port can also be used as an initial setup port for theunit. The serial interface can also be an USB-type serial interface.

[Other interfaces according to specific embodiments of the presentinvention are generally setup before they are used. Generally, afterinitialization, all the settings can be managed through the serial orEthernet ports.

Ethernet and Network Interface

According to specific embodiments of the present invention, an Ethernetport can be utilized either through a text based Telnet session orthrough an HTTP web interface. The telnet session is similar to theserial interface in that its text based and the menus can generally bevery similar or identical. A web interface according to specificembodiments of the invention can, for example, utilize a web browser andthe Hypertext Transfer Protocol (HTTP). According to specificembodiments of the present invention, this interface looks and feelsdifferent from the others because it is a GUI (graphical userinterface). An SNMP interface can be used to control various settingsand retrieve various information from the SPS using a standard networkmanagement protocol, such as SNMP.

Email Interface

In addition, the SPS can be configured to email logged events. When thisfeature is enabled, according to specific embodiments of the presentinvention, a running log of events is kept and once memory is filled,the log file is sent to a designated email address. Logs can containinformation such as the user name, which outlets were changed, time anddate of event, and interface and or IP address used.

Telephone Interface

According to specific embodiments of the present invention, a telephoneinterface uses a standard analog phone line. This interface is unique inthat it uses a few inexpensive parts (such as, for example, a Clare™CPC5611 as the data access arrangement and a Sunplus™ SPC122a as thevoice processor) along with a few other parts. An SPS according tospecific embodiments of the present invention has DTMF (Dual ToneMulti-Frequency) decoding, caller id, and voice feedback. Once enabledand attached to a phone line, the unit is now ready to receive andprocess calls. The SPS can be set to accept all calls, block callswithout caller ID enabled, or not accept any incoming calls. The SPS isdesigned so that if a user uses the phone interface he or she is greetedwith a voice prompted menu. The unit will ask for a numeric pass codeand then prompt the user for the next command. In specific embodiments,though the SPS has a voice prompted menu, it will only respond to (DTMF)telephone tones as commands and not to speech. In further embodiments,speech recognition can be included in a device according to theinvention.

An embedded hardware arrangement along with its caller id and voicefeedback capabilities according to specific embodiments of the presentinvention has never been utilized in the present combination in anycomparable smart power switch or power distribution units. Thisinterface is not included in all embodiments of the invention.

Interface Features and Functions

According to specific embodiments of the present invention, the serialand/or Ethernet interfaces have the ability to:

-   -   change the state of outlets    -   assign outlet labels    -   assign outlet schedule    -   edit and assign users    -   edit network, email, and phone interface settings.

A wide variety of configurations are possible according to variousspecific embodiments of the present invention. Some of theseconfigurations are described herein as examples of the invention.Various configuration details are also elements in novel embodiments ofthe invention.

According to specific embodiments of the present invention, differentfeatures may be accessible from different interfaces. Table 1 belowprovides an example feature set indicating particular interfacesaccording to specific embodiments of the present invention.

TABLE 1 TCP/IP-WEB TCP/IP-TELNET TCP/IP-SNMP SERIAL PHONE Switch outletson and off      Monitor outlet on/off status      Monitorcurrent consumption of each outlet     Program outlet schedules  Protect with Password/PIN security      Control outlet access withusers and passwords     Manage users     Control multiple unitsfrom a single 

Per Outlet Current Monitoring

According to specific embodiments of the invention, the inventionprovides per-outlet current monitoring for a plurality of controlledoutlets. In particular embodiments, this novel feature is integratedinto the user interfaces as provided herein. Per-outlet currentmonitoring according to specific embodiments of the invention provides amechanism of remotely managing current load on a individual devicebasis.

User-Controllable Scheduling

According to specific embodiments of the invention, the inventionfeatures user-controllable scheduling of each outlet. While other powerdevices have provided various staged power up operation, the presentinvention allows a user to flexible manage scheduling features.

Detailed Interface Examples and Operation

Many different particular arrangements of menus and functions arepossible according to specific embodiments of the invention. In order toprovide a complete description of example methods of operation accordingto specific embodiments of the invention, the following describesspecific example menus and methods of one or more systems according tothe invention.

Example Serial Connection Interfaces

In specific embodiments, the invention includes a set of interfaces fora direct serial connection. The discussion below and the referencedfigures provide specific example embodiments of such interfaces.

Initialize

FIG. 1 provides an example of an initial serial interface screen. Anexample configuration and method of this screen is as follows. Using anappropriate serial cable attached between an SPS according to specificembodiments of the invention and an information screen, such as aterminal or PC, start a Hyper Terminal type session. For example, aconnection can be made to COM 1 with the settings: 19200 bit rate, 8data bits, parity=none, stop bits=1, and Flow control=none.

Once connected, log on with a user name and password. Once logged intype 0 for editing outlet states, 1 to view logs or 2 to edit settings.

Edit Settings

FIG. 2 provides an example settings menu according to specificembodiments of the invention. In the settings menu a user can set suchthings as Time/Date, Network Settings, E-mail Settings, and ManageUsers. For example, to edit a category a user can use arrow keys or amouse to select the category or type a corresponding number or letterfor the listed function. Note, in a Dual-Com, for example, either thenetwork settings or phone settings may not be present.

Settings Time/Date

FIG. 3 provides an example time/date settings menu according to specificembodiments of the invention. This interface can be used by, forexample, scrolling to the proper heading and pressing enter to change avalue and once the values have been changed press enter to finalize.

Settings Network

FIG. 4 provides an example network settings menu according to specificembodiments of the invention. This interface can be used by, forexample, scrolling to the proper heading and pressing enter to change avalue and once the values have been changed press enter to finalize.This procedure may be repeated for all network settings. Networksettings can include such things as values for IP addressing, hostand/or domain names, enablement of DHCP (Dynamic Host ConfigurationProtocol), SNMP, or other functions, etc. In specific embodiments, onceall network settings have been made the Tricom must be rebooted in orderfor the new settings to take affect.

According to specific embodiments of the invention, seven settings areprovided here: Enable DHCP (This is set to on as default so that ifthere is a DHCP server the SPS will get it's IP address from it. If soit will show up under the Using: section and it will be different than192.168.1.2 [the default if no DHCP Server is found].); IP; Subnet Mask;DNS; Gateway; Host; and Domain.

Settings Telephone

FIG. 5 provides an example telephone settings menu according to specificembodiments of the invention. This interface can be used by, forexample, scrolling to the proper heading and pressing enter to change avalue. Telephone settings can include such things as values for a phonepersonal identification number (PIN) and/or enablement of varioustelephone functions. In embodiments without a telephone interface, thismenu may not be available.

Settings Email

FIG. 6 provides an example email settings menu according to specificembodiments of the invention. This interface can be used by, forexample, scrolling to the proper heading and pressing enter to change avalue. Email settings can include such things as values for a emailaddress and/or server and/or email heading values and/or and/orenablement of various email functions. In embodiments without an emailinterface, this menu may not be available.

Settings Users

FIG. 7 provides an example initial user settings menu and FIG. 8provides an example user modification settings menu according tospecific embodiments of the invention. This interface can be used by,for example, scrolling to the proper heading and pressing enter tochange a value. User settings can include such things as user names,passwords, administrator indications, permissions. Permissions caninclude individual outlet modification permissions.

Example Web Connection Interfaces

In specific embodiments, the invention includes a set of interfaces fora web-based connection. The discussion below and the referenced figuresprovide specific example embodiments of such interfaces. Once a networkport (such as Ethernet) has been configured with the proper addressing,a user can access a SPS according to specific embodiments of the presentinvention through such things as a telnet session or through a webbrowser. According to specific embodiments of the invention, the Telnetsession is text based and menu driven and has the same look and feel asthe serial connection described above. A web interface is optimized foruse in all web browsers, such as Internet Explorer.

To begin using the web interface, start a web browser and input an SPS'snetwork identification (e.g., an IP and/or domain name address) Oncefound, an example SPS can prompt for a log on, for example using a popupwindow requesting a user name and password or alternatively, byretrieving saved passwords.

FIG. 9 provides an example of web-based interface screen according tospecific embodiments of the invention. This example figure shows anumber of different possible functionalities according to specificembodiments of the invention.

For example, the four underlined links at the top of the interface canhave the following functions:

OUTLETS: change the state of outlets, setup scheduling, rename outletsand view current draw (e.g., amperage) per outlet.

LOGS: shows previous events (e.g., the last 30) that have occurred.

USERS: add, edit and delete users to the unit

SETUP: network, time/date and preference settings. Generally, only userswith administrator privileges can access the setup and users tabs.

According to specific embodiments of the invention, outlet managementcan be handled as follows. To change the state of any outlet simplyclick the outlet indication on or off. A round indicator button canprovide a color indication of outlet status, e.g., green indicating thatthe outlet is on and white indicating that the outlet is off. To renamean outlet, click on a label given to the outlet, e.g., “Com Server 2”and in either a popup box or the link enter the new name then click SaveLabel. Generally, according to specific embodiments of the invention,unless a user is an administrator, the user's selection of outlets islimited to what your administrator has assigned. Common users also haveno access to logs, users, and setup.

According to specific embodiments of the invention, scheduling forindividual outlets can be performed as follows. To set a scheduled taskselect, for example, a clock icon that corresponds to the outlet forwhich it is desired to set the schedule. FIG. 10 is a block diagramillustrating an example outlet scheduling interface and method accordingto specific embodiments of the present invention. Once the outlet isselected, add events by for example changing time, day and then clickingon the Add Event button. Before clicking the Save Schedule Optionsbutton, click in the box that indicates scheduling is enabled for thisoutlet.

FIG. 11 is a block diagram illustrating an example outlet label andproperties modification interface and method according to specificembodiments of the present invention. This interface can be used tochange outlet labels and adjust other outlet properties.

FIG. 12 is a block diagram illustrating an example logging interface andmethod according to specific embodiments of the present invention.According to specific embodiments of the invention, an SPS keeps arunning log of events which, if enabled, can be e-mailed to a designatedperson. For example, in specific embodiments, once the log file isfilled the log is then e-mailed and the memory buffer is then clearedand refreshed. If not setup to E-mail, the unit will then overwrite theoldest event, keeping the log current. Logs may generally also be sentor cleared manually be clicking an appropriate heading that can beprovided in specific embodiments.

FIG. 13 is a block diagram illustrating an example user interface andmethod according to specific embodiments of the present invention. Toaccess the users tab generally a user has to be an administrator. To addor edit an existing user click edit in the row desired. In the popup boxenter a user name, password and select the outlets the new user will beable to access. Once the information is complete click the Save Userbutton and the user may now log in. To completely remove a user,indicate delete. FIG. 14 is a block diagram illustrating an example usermodification interface and method according to specific embodiments ofthe present invention.

FIG. 15 is a block diagram illustrating an example web-based setupinterface and method according to specific embodiments of the presentinvention. This interface provides information about such things astime/date, network settings, logging settings, SNMP settings, can alsoprovide information about telephone settings in an SPS with a telephoneinterface. Generally, this interface is only accessible toadministrators. To make changes using this interface, use the editbutton that corresponds to the appropriate heading. For example, to setTIME/DATE, click the corresponding edit button, make the proper changesthen click Save.

FIG. 16 is a block diagram illustrating an example networkidentification interface and method according to specific embodiments ofthe present invention. This interface can, for example, be provided as apopup box from the overall settings interface. In this interface, enterthe IP address to assign to the unit. Enter the units Subnet Mask, DNS,host, and domain name. Once all fields are filled in, click the Save andReboot button. Generally, network settings will not take affect untilthe unit has been rebooted.

FIG. 17 is a block diagram illustrating an example telephone setupinterface and method according to specific embodiments of the presentinvention. To setup the telephone interface, click on the correspondingedit button. By placing a check mark in the “enable interface” box, allcalls will be processed by the Tricom. However, if there is no checkmark at “Allow callers with no caller ID” the unit will then only answercalls with a caller ID tag and reject all others.

In SPS units with a telephone interface, enabled as described above, thephysical interface according to specific embodiments of the presentinvention can be connected using a standard analog phone line to thephone jack on the front panel of the SPS. Once connected to an analogphone line and the interface is enabled, the SPS can now be reached andcontrolled independently from a network or a computer. From an officedesk phone to a private cell phone, there is a truly remote means ofcontrol. The SPS can be configured to block calls from restricted orunavailable phones. The phone number of the telephone from which a useris calling from must be received by the SPS in order to access the mainmenu. According to specific embodiments of the present invention, asystem can be configured to “Allow callers with no caller ID,” thoughdue to security reasons this is not recommended.

FIG. 18 is a block diagram illustrating an example logging setupinterface and method according to specific embodiments of the presentinvention. Under the Logging heading administrators can setup E-mailproperties and server settings. To enable the E-mail logs feature clickthe corresponding edit button. In the popup box, enter the SMTP servername as well as the E-mail address of the person to receive the logs.The “From” and “Subject” boxes are not required to send the log. Onceall entries and the “Dump logs to E-mail . . . ” box is checked, clickthe save button. The unit is now ready to send the log once the bufferis full. According to specific embodiments of the present invention, theSMTP server acts as an outgoing E-mail server. If you don't have thisinformation please consult your network administrator. With out theproper SMTP server, the unit will not be able to E-mail out the logsregardless of all the other settings.

FIG. 19 is a block diagram illustrating an example date/time setupinterface and method according to specific embodiments of the presentinvention. To configure the NTP (Network Time Protocol) settings with anNTP Server addressing delete the default settings and ensure that thereis a check in the “Enable NTP” checkbox. Once settings are entered auser can indicate “Save” and the page will refresh with the newtime/date that the SPS received from the local NTP servers. To manuallyset “Time/Date” uncheck the “Enable NTP” check box, though it is highlyrecommended to use an NTP server.

FIG. 20 is a block diagram illustrating an example SNMP setup interfaceand method according to specific embodiments of the present invention.SNMP is by default set to enabled which may cause a security risk. It istherefore suggested to set this to disabled if not used. The MIB(Management Information Block) listing below provides additionalinformation about a specific example SNMP interface according tospecific embodiments of the present invention.

FIG. 21 is a block diagram illustrating an example options setupinterface and method according to specific embodiments of the presentinvention. This interface can be provided to change behavioral settingssuch as refresh rates and outlet change confirmations. To avoidaccidental on/offs, require confirmation for each on/off event on theweb by placing a check in the Require confirmation box. With thisfeature enabled users will have to click on or off then OK or cancel foreach outlet change. The Refresh rate is user definable from 1-999seconds. Once set the Outlets page will now refresh to the specifiedtime. If the refresh rate is set too fast, the system may not haveenough time to load the entire page. Regardless of the refresh ratesetting the network speed will determine how fast a page is loaded. Adefault example setting is at 10 seconds.

Software Implementations

Thus, in further embodiments, the present invention may be understood inthe context of providing power management over a communication media. Animportant application for the present invention, and an independentembodiment, is in the field of providing power cycling and monitoringover the Internet, optionally using Internet media protocols andformats, such as HTTP, RTTP (Real-Time Transport Protocol), XML(eXtensible Markup Language), HTML, dHTML (Dynamic Hyper Text MarkupLanguage), VRML (Virtual Reality Markup Language), as well as image,audio, or video formats etc. However, using the teachings providedherein, it will be understood by those of skill in the art that themethods and apparatus of the present invention could be advantageouslyused in other related situations where users access content over acommunication channel, such as modem access systems, institution networksystems, wireless systems, etc.

Various embodiments of the present invention provide methods and/orsystems for power management and/or monitoring that can be implementedon a general purpose or special purpose information handling applianceusing a suitable programming language such as Java, C++, Cobol, C,Pascal, Fortran, PL1, LISP, assembly, etc., and any suitable data orformatting specifications, such as HTML, XML, dHTML, TIFF, JPEG,tab-delimited text, binary, etc. In the interest of clarity, not allfeatures of an actual implementation are described in thisspecification. It will be understood that in the development of any suchactual implementation (as in any software development project), numerousimplementation-specific decisions must be made to achieve thedevelopers' specific goals and subgoals, such as compliance withsystem-related and/or business-related constraints, which will vary fromone implementation to another. Moreover, it will be appreciated thatsuch a development effort might be complex and time-consuming, but wouldnevertheless be a routine undertaking of software engineering for thoseof ordinary skill having the benefit of this disclosure.

As will be further understood from the teachings provided herein, thepresent invention encompasses a variety of specific embodiments forperforming these steps. As further described below, request for powermanagement and monitoring information may be received in a variety ofways, including through one or more graphical user interfaces providedby an SPS to the client system or by the SPS system receiving an emailor other digital message or communication from the client system. Thus,according to specific embodiments of the present invention, data and/orindications can be transmitted to the SPS using any method fortransmitting digital data, including HTML communications, FTPcommunications, email communications, wireless communications, etc. Invarious embodiments, indications of desired data can be received from ahuman user selecting from a graphical interface at a computing device.

Example External Hardware System Configuration

FIG. 22A-B is a diagram illustrating an example of external features andappearance of an example thee connector configurable power supplyaccording to specific embodiments of the present invention. The figuresillustrate the following example elements:

-   -   1: Unit power indicator    -   2: Over-all amperage usage meter    -   3: Outlet indicator    -   4: Serial port    -   5: Direct phone line connection (not a modem port)    -   6: Ethernet port    -   7: AC outlets    -   8: Outlets on/standby switch    -   9: AC inlet receptacle

FIG. 23A-B is a diagram illustrating an example of external features andappearance of an example two connector power supply according tospecific embodiments of the present invention. In this exampleembodiment, the phone interface and outlets on/standby switch are notprovided on the panels shown.

According to specific embodiments of the invention, an SPS is designedto be mounted into a standard, 19 inch, network rack or cabinet. Ifmounted in the horizontal position the SPS takes up 1 rack unit ofspace. While many other dimensions are possible, in specificembodiments, the invention provides the described functionality in asystem having total dimensions less than about a 1RU for 19″ rack, or17″ wide×8.38″ deep×1.75″ high.

Including the functionalities described herein in a design having theappearance and dimensions indicated above is considered a further noveland beneficial feature of the invention, various modifications of thisbasic design are encompassed by the broad descriptions of the inventionaccording to specific embodiments. As just one example, designs can havevarious desired numbers of controlled outlets, such as 1, 2, 3, 4, 8,16, 24 and be provided in different dimensions. As a further example,one or more of the controlled power outlets can be controlled together,such as a system providing four pairs of power outlets. As a furtherexample, the outlet shapes shown above can be varied, for example forconnecting to different power systems, including various internationalpower systems and different voltages. The design elements illustratedcan also be varied.

Example Hardware Functional Components

FIG. 24 is a block diagram illustrating an example logic modules of aconfigurable power supply according to specific embodiments of thepresent invention. This is one example embodiment showing a number ofdifferent elements in one or more novel arrangements not of all whichwill be a part of all embodiments.

In this example embodiment, various functions as described above areprovided by a microprocessor executing a stored-program, such as, forexample, a Rabbit2000 Microcontroller and Memory. According to specificembodiments of the invention, the microcontroller provides the logicalexecution ability to both control the outlets using a relay driver andrelays as shown and also to provide communications ability through twoor more interfaces, such as an Ethernet interface comprising an Ethernetconnector (jack) and driver, a phone interface comprising a phoneconnector (jack) and phone DAA (Data Access Arrangement) & DTMF alongwith an audio processor for generating audio status indications and/orfor recognizing speech commands, a serial interface comprising a serialconnector (e.g., a RJ45 serial jack and/or a USB connection) andappropriate drivers, and an external LED interface comprising one ormore LEDs and an LED driver.

According to specific embodiments of the invention, current sensors areprovided for each outlet and a sensor signal conditioning module and/orfunction provides information to the microcontroller for use inreporting current status and/or also for use in providing currentcontrol. A surge protector, switch/circuit breaker, and digitaloperating voltage power supply (e.g., 5 volts or 3.3 volts, etc.) arealso included.

Any number of different brands of available modules can be used inspecific embodiments of the invention.

Portions of an Example Circuit Description

FIG. 25 through FIG. 28 provide selected details of an example systemaccording to specific embodiments of the invention. These figuresinclude component listings and circuit descriptions that will befamiliar in the art. For clarity of disclosure, these figures do notinclude every detail of every element of an example system, but do showexample embodiments of salient features of an SPS according to specificembodiments of the invention.

FIG. 25A-B is a block diagram illustrating in further details majorfunctional components of an example configurable power supply accordingto specific embodiments of the present invention. In this embodiment, amicrocontroller as shown in the center of the figure is connected tofunctional components of the invention including an Ethernet module, aPhone & Voice module, a Serial Port module, an LED module, a currentSense module, and a Relays module. The Ethernet module, Phone & Voicemodule, Serial Port module, and LED module can represent standardconfigurations of known circuit elements that are not further describedherein. The Ethernet module, for example, can consist primarily of anRTL8019AS Ethernet integrated circuit or similar off-the-shelf circuitsor custom or integrated components. The Serial Port module, for example,can consist primarily of an SP232E integrated circuit or similaroff-the-shelf circuits or custom or integrated components. The Phone &Voice module, for example, can consist primarily of available componentssuch as a CLARE-CPC5620, a SUNPLUS-SPC122ABOARD and/or a NPC-SM8223Aintegrated circuits or similar off-the-shelf circuits or custom orintegrated components. An LED and bar-graph display can be providedusing components such as an ALLEGRO 6275 and/or an ALLEGRO 6276 orsimilar off-the-shelf circuits or custom or integrated components.

FIG. 26 is a block diagram illustrating details of a microcontroller andother control logic of an example configurable power supply according tospecific embodiments of the present invention. In this embodiment, aRABBIT 2000 microcontroller is shown with an SRAM memory and CMOS FLASHMEMORY.

FIG. 27 is a block diagram illustrating details of three power relays ofan example configurable power supply according to specific embodimentsof the present invention. According to specific embodiments of theinvention, the number of power relays will correspond to the number ofmanaged power outlets, such as eight. In alternative embodiments, eachrelay may provided on-off management of multiple grouped power outlets.

FIG. 28A-B is a block diagram illustrating details of three currentsensors of an example configurable power supply according to specificembodiments of the present invention. According to specific embodimentsof the invention, the number of sensors will correspond to the number ofmanaged power outlets, such as eight. In alternative embodiments, eachsensor relay may provided sensing of multiple grouped power outlets.

Example SNMP MIB

As is known in the art, SNMP operates using data structures known asMIBs. Provided below is one example MIB that provides further details ofa specific embodiment of the invention.

CYBERSWITCHING-MIB DEFINITIONS ::= BEGIN IMPORTS   enterprises,IpAddress,   TimeTicks, Counter, Gauge, Opaque FROM RFC1155-SMI  OBJECT-TYPE FROM RFC-1212   TRAP-TYPE FROM RFC-1215   DisplayStringFROM RFC1213-MIB; -- --    Copyright (C) 2003, CyberSwitching. Allrights reserved. cyberswitching OBJECT IDENTIFIER ::= { enterprises14300 } cyberswitching-products OBJECT IDENTIFIER ::= { cyberswitching 1} -- ========== CyberSwitching NMS products ========== tricom-8 OBJECTIDENTIFIER ::= { cyberswitching-products 1 } tricom-8-ctrl OBJECTIDENTIFIER ::= { tricom-8 1 } tricom-8-mgmt OBJECT IDENTIFIER ::= {tricom-8 2 } tricom-8-traps OBJECT IDENTIFIER ::= { tricom-8 3 } oNumberOBJECT-TYPE   SYNTAX INTEGER   ACCESS read-only   STATUS mandatory  DESCRIPTION      “The number of managed outlets present on thissystem.”   ::= { tricom-8-ctrl 1 } oTable OBJECT-TYPE   SYNTAX SEQUENCEOF OEntry   ACCESS not-accessible   STATUS mandatory   DESCRIPTION     “A list of outlet entries. The number of      entries is given bythe value of oNumber.”   ::= { tricom-8-ctrl 2 } oEntry OBJECT-TYPE  SYNTAX OEntry   ACCESS not-accessible   STATUS mandatory   DESCRIPTION     “An outlet entry containing STATUS and properties      of a managedoutlet.”   INDEX  { oIndex }   ::= { oTable 1 } OEntry ::=   SEQUENCE {   oIndex      INTEGER,    oLabel      DisplayString,    oState     INTEGER,    oCurrentStr      DisplayString,    oCurrentFloat     Opaque,    oCurrentInt      INTEGER   } oIndex OBJECT-TYPE  SYNTAX INTEGER (1..8)   ACCESS read-only   STATUS mandatory  DESCRIPTION      “A unique value for each outlet. Its value     ranges between 1 and the value of oNumber.”   ::= { oEntry 1 }oLabel OBJECT-TYPE   SYNTAX DisplayString (SIZE (0..15))  ACCESS read-write   STATUS mandatory   DESCRIPTION      “A textualstring containing the outlet's      user-friendly name.”   ::= { oEntry2 } oState OBJECT-TYPE   SYNTAX INTEGER {       off(1), -- outlet is on      on(2), -- outlet is off       error(3) -- outlet has a problem     }   ACCESS read-write   STATUS mandatory   DESCRIPTION      “Theoutlet's state. (ON/OFF/ERROR). Reading oState      returns the outlet'sstate. Setting oState to off      turns the outlet off. Setting oStateto on turns the      outlet on. Setting oState to error is invalid.”  ::= { oEntry 3 } oCurrentStr OBJECT-TYPE   SYNTAX DisplayString  ACCESS read-only   STATUS mandatory   DESCRIPTION      “The amount ofcurrent the outlet is drawing, string      formatted.”   ::= { oEntry 4} oCurrentFloat OBJECT-TYPE   SYNTAX Opaque   ACCESS read-only  STATUS mandatory   DESCRIPTION      “The amount of current the outletis drawing, in Amps.”   ::= { oEntry 5 } oCurrentInt OBJECT-TYPE  SYNTAX INTEGER   ACCESS read-only   STATUS mandatory   DESCRIPTION     “The amount of current the outlet is drawing, in Amps      This isrounded to an integer for applications that can't      handle strings orfloats.”   ::= { oEntry 6 } oTotCurrentFloat OBJECT-TYPE   SYNTAX Opaque  ACCESS read-only   STATUS mandatory   DESCRIPTION      “The totalamount of current the unit is supplying, in Amps.”   ::= { tricom-8-ctrl3 } oTotCurrentStr OBJECT-TYPE   SYNTAX DisplayString   ACCESS read-only  STATUS mandatory   DESCRIPTION      “The total amount of current theunit is supplying.      (String Formatted)”   ::= { tricom-8-ctrl 4 }oTotCurrentInt OBJECT-TYPE   SYNTAX INTEGER   ACCESS read-only  STATUS mandatory   DESCRIPTION      “The total amount of current theunit is supplying, in Amps.      This is rounded to an integer forapplications that can't      handle strings or floats.”   ::= {tricom-8-ctrl 5 } oStateMask OBJECT-TYPE   SYNTAX INTEGER  ACCESS read-only   STATUS mandatory   DESCRIPTION      “Bits 0-8 = thestate of all eight outlets. 0 is off      1 is on.”   ::= {tricom-8-ctrl 6 } triSysTimeDate OBJECT-TYPE   SYNTAX TimeTicks  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Time inhundredths of a second since Jan. 1, 1980.”   ::= { tricom-8-mgmt 1 }triTimeZone OBJECT-TYPE   SYNTAX INTEGER (−13..13)   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Time zone as an offset from GMT”  ::= { tricom-8-mgmt 2 } triDaylightSavings OBJECT-TYPE  SYNTAX INTEGER {       disabled(1), -- Time is in standard time.      enabled(2) -- Time is in daylight savings time.      }  ACCESS read-write   STATUS mandatory   DESCRIPTION      “When enabled,the clock is adjusted for daylight savings.”   ::= { tricom-8-mgmt 3 }triNTPEnabled OBJECT-TYPE   SYNTAX INTEGER {       disabled(1), -- NTPis disabled. Time must be set manually.       enabled(2) -- NTP isenabled. Unit will attempt to get network time.      }  ACCESS read-write   STATUS mandatory   DESCRIPTION      “When enabled,the unit will attempt to set its clock from the      network using NTPservers 1 & 2.”   ::= { tricom-8-mgmt 4 } triNTPServerl OBJECT-TYPE  SYNTAX DisplayString (SIZE (0..59))   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Time server #1. Set to255.255.255.255 to broadcast time requests.”   ::= { tricom-8-mgmt 5 }triNTPServer2 OBJECT-TYPE   SYNTAX DisplayString (SIZE (0..59))  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Time server#2. Will be used if Timer Server #1 fails.      Set to 255.255.255.255to broadcast time requests.”   ::= { tricom-8-mgmt 6 } triDHCPEnabledOBJECT-TYPE   SYNTAX INTEGER {       disabled(1), -- DHCP is disabled.Network Settings must be set manually.       enabled(2) -- DHCP isenabled. Unit will attempt to get settings from DHCP server.      }  ACCESS read-write   STATUS mandatory   DESCRIPTION      “When enabled,the unit will attempt to get its network settings from a DHCP     server upon booting. If this fails, it will revert to the manualsettings.”   ::= { tricom-8-mgmt 7 } triNetworkIP OBJECT-TYPE  SYNTAX IpAddress   ACCESS read-write   STATUS mandatory   DESCRIPTION     “IP of this TRICOM-8 Unit.”   ::= { tricom-8-mgmt 8 } triSubnetMaskOBJECT-TYPE   SYNTAX IpAddress   ACCESS read-write   STATUS mandatory  DESCRIPTION      “Subnet Mask of this TRICOM-8 Unit.”   ::= {tricom-8-mgmt 9 } triGateway OBJECT-TYPE   SYNTAX IpAddress  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Gateway ofthis TRICOM-8 Unit.”   ::= { tricom-8-mgmt 10 } triDNS OBJECT-TYPE  SYNTAX IpAddress   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Domain Name Server of this TRICOM-8 Unit.”   ::= { tricom-8-mgmt11 } triHostName OBJECT-TYPE   SYNTAX DisplayString (SIZE (0..15))  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Host Name ofthis TRICOM-8 Unit.”   ::= { tricom-8-mgmt 12 } triDomain OBJECT-TYPE  SYNTAX DisplayString (SIZE (0..15))   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Domain of this TRICOM-8 Unit.”  ::= { tricom-8-mgmt 13 } triPhoneEnabled OBJECT-TYPE   SYNTAX INTEGER{       disabled(1), -- Phone interface is DISABLED       enabled(2) --Phone interface is ENABLED      }   ACCESS read-write   STATUS mandatory  DESCRIPTION      “Operational mode of the phone interface.”   ::= {tricom-8-mgmt 14 } triBlockNoCallerID OBJECT-TYPE   SYNTAX INTEGER {      noblock(1), -- Calls with no CallerID are allowed       block(2)-- Calls with no CallerID are blocked      }   ACCESS read-write  STATUS mandatory   DESCRIPTION      “No CallerID blocking mode.”   ::={ tricom-8-mgmt 15 } triPhonePin OBJECT-TYPE   SYNTAX DisplayString(SIZE (0..15))   ACCESS read-write   STATUS mandatory   DESCRIPTION     “PIN used to ACCESS the phone interface. This must be      at least6 characters.”   ::= { tricom-8-mgmt 16 } triSyslogServer OBJECT-TYPE  SYNTAX DisplayString (SIZE (0..59))   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Server name to send BSD Syslogstyle log events to. Set this to a      NULL string to disable Syslog.(events will still be logged locally)”   ::= { tricom-8-mgmt 17 }triLoggingFacility OBJECT-TYPE   SYNTAX INTEGER {       local-0(1),      local-1(2),       local-2(3),       local-3(4),       local-4(5),      local-5(6),       local-6(7),       local-7(8)      }  ACCESS read-write   STATUS mandatory   DESCRIPTION      “BSD SyslogLogging Facility.”   ::= { tricom-8-mgmt 18 } triLoggingLevelOBJECT-TYPE   SYNTAX INTEGER {       emergency(1),       alert(2),      critical(3),       error(4),       warning(5),       notice(6),      informational(7),       debug(8)      }   ACCESS read-write  STATUS mandatory   DESCRIPTION      “BSD Syslog Logging Level. Thisaffects the amount of logging performed.”   ::= { tricom-8-mgmt 19 }triDumpLogs OBJECT-TYPE   SYNTAX INTEGER {       nodump(1), -- do notdump logs to email       dump(2) -- dump logs to email      }  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Dump Logs toemail when full option.”   ::= { tricom-8-mgmt 20 } triSMTServerOBJECT-TYPE   SYNTAX DisplayString (SIZE (0..59))   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Server used to send email.”   ::={ tricom-8-mgmt 21 } triEmailTo OBJECT-TYPE   SYNTAX DisplayString (SIZE(0..59))   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Address to send email to.”   ::= { tricom-8-mgmt 22 } triEmailFromOBJECT-TYPE   SYNTAX DisplayString (SIZE (0..59))   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Address to send email from.” ::={ tricom-8-mgmt 23 } triEmailSubject OBJECT-TYPE   SYNTAX DisplayString(SIZE (0..59))   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Subject of email.”   ::= { tricom-8-mgmt 24 }triOutletConfirmation OBJECT-TYPE   SYNTAX INTEGER {       noconfirm(1),-- do not confirm outlet changes       confirm(2) -- confirm outletchanges      }   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Whether or not to confirm outlet changes from web      interface.”  ::= { tricom-8-mgmt 32 } triwebRefresh OBJECT-TYPE   SYNTAX INTEGER(5..999)   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Number of seconds (5-999) to wait before refreshing      outletson web interface.”   ::= { tricom-8-mgmt 33 } triOutletStaggerTimeOBJECT-TYPE   SYNTAX INTEGER (0..5000)   ACCESS read-write  STATUS mandatory   DESCRIPTION      “Number of milliseconds (0-5,000)to pause between outlets when      turning on/off multiple outlets atonce.”   ::= { tricom-8-mgmt 34 } triOSchedules OBJECT-TYPE  SYNTAX SEQUENCE OF TriScheduleEntry   ACCESS not-accessible  STATUS mandatory   DESCRIPTION      “A List of Schedules.”   ::= {tricom-8-mgmt 35 } triScheduleEntry OBJECT-TYPE  SYNTAX TriScheduleEntry   ACCESS not-accessible   STATUS mandatory  DESCRIPTION      “An outlet schedule entry”   INDEX  {triScheduleIndex }   ::= { triOSchedules 1 } TriScheduleEntry ::=  SEQUENCE {    triScheduleIndex      INTEGER,    triScheduleEnabled     INTEGER   } triScheduleIndex OBJECT-TYPE   SYNTAX INTEGER (1..8)  ACCESS read-only   STATUS mandatory   DESCRIPTION      “A unique valuefor each outlet. Its value      ranges between 1 and oNumber.”   ::= {triScheduleEntry 1 } triScheduleEnabled OBJECT-TYPE   SYNTAX INTEGER {      disabled(1), -- outlet is disabled       enabled(2) -- outlet isenabled      }   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Enable STATUS of schedule.”   ::= { triScheduleEntry 2 } trilogsOBJECT-TYPE   SYNTAX SEQUENCE OF TriLogEntry   ACCESS not-accessible  STATUS mandatory   DESCRIPTION      “A List of Log Entries.”   ::= {tricom-8-mgmt 38 } triLogEntry OBJECT-TYPE   SYNTAX TriLogEntry  ACCESS not-accessible   STATUS mandatory   DESCRIPTION      “A LogEntry Display String.”   INDEX  { triLogIndex }   ::= { trilogs 1 }TriLogEntry ::=   SEQUENCE {    triLogIndex      INTEGER,   triLogString      DisplayString   } triLogIndex OBJECT-TYPE  SYNTAX INTEGER (1..32)   ACCESS read-only   STATUS mandatory  DESCRIPTION      “A unique value for each log entry. Its value     ranges between 1 and trinumlogs.”   ::= { triLogEntry 1 }triLogString OBJECT-TYPE   SYNTAX DisplayString   ACCESS read-only  STATUS mandatory   DESCRIPTION      “The log entry in string form.”  ::= { triLogEntry 2 } triNumLogs OBJECT-TYPE   SYNTAX INTEGER  ACCESS read-only   STATUS mandatory   DESCRIPTION      “The number ofLog entries available”   ::= { tricom-8-mgmt 39 } -- TRAPStriOutletCurrentTraps OBJECT-TYPE   SYNTAX SEQUENCE OFTriCurrentTrapEntry   ACCESS not-accessible   STATUS mandatory  DESCRIPTION      “Table of current trap limits.”   ::= {tricom-8-traps 1 } triCurrentTrapEntry OBJECT-TYPE  SYNTAX TriCurrentTrapEntry   ACCESS not-accessible   STATUS mandatory  DESCRIPTION      “An outlet entry containing STATUS and properties     of a managed outlet.”   INDEX  { triCurIndex }   ::= {triOutletCurrentTraps 1 } TriCurrentTrapEntry ::=   SEQUENCE {   triCurIndex      INTEGER,    triCurLoEnabled      INTEGER,   triCurLoBound      DisplayString,    triCurLoGracePeriod      INTEGER(0..65535),    triCurHiEnabled      INTEGER,    triCurHiBound     DisplayString,    triCurHiGracePeriod      INTEGER (0..65535)   }triCurIndex OBJECT-TYPE   SYNTAX INTEGER (1..8)   ACCESS read-only  STATUS mandatory   DESCRIPTION      “A unique value for each outlet.Its value      ranges between 1 and the value of oNumber.”   ::= {triCurrentTrapEntry 1 } triCurLoEnabled OBJECT-TYPE   SYNTAX INTEGER {      disabled(1), -- trap is disabled       enabled(2) -- trap isenabled      }   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Low current bound trap enable. When enabled, a trap will      begenerated when current falls below triCurLoBound and      stays belowfor longer than triCurLoGracePeriod.”   ::= { triCurrentTrapEntry 2 }triCurLoBound OBJECT-TYPE   SYNTAX DisplayString (SIZE(0..20))  ACCESS read-write   STATUS mandatory   DESCRIPTION      “Low currentboundary. This string must contain only a valid      floating-pointnumber representing current in Amps between      0.0 and 99.9. When theoutlet current falls below this value,      and stays below for longerthan triCurLoGracePeriod a trap      will be generated.”   ::= {triCurrentTrapEntry 3 } triCurLoGracePeriod OBJECT-TYPE   SYNTAX INTEGER(0..65535)   ACCESS read-write   STATUS mandatory   DESCRIPTION     “Low current grace period in Seconds. When the outlet      currentfalls below triCurLoBound, and stays below for longer      than thisvalue, a trap will be generated. Care should be      taken not to setthis too low, or the network might be      flooded with traps if thecurrent rapidly fluctuates around      triCurLoBound.”   ::= {triCurrentTrapEntry 4 } triCurHiEnabled OBJECT-TYPE   SYNTAX INTEGER }      disabled(1), -- trap is disabled       enabled(2) -- trap isenabled      }   ACCESS read-write   STATUS mandatory   DESCRIPTION     “High current bound trap enable. When enabled, a trap will      begenerated when current rises above triCurHiBound and      stays abovefor longer than triCurHiGracePeriod.”   ::= { triCurrentTrapEntry 5 }triCurHiBound OBJECT-TYPE   SYNTAX DisplayString (SIZE(0..20))  ACCESS read-write   STATUS mandatory   DESCRIPTION      “High currentboundary. This string must contain only a valid      floating-pointnumber representing current in Amps between      0.0 and 99.9 When theoutlet current rises above this value,      and stays above for longerthan triCurHiGracePeriod a trap      will be generated.”   ::= {triCurrentTrapEntry 6 } triCurHiGracePeriod OBJECT-TYPE   SYNTAX INTEGER(0..65535)   ACCESS read-write   STATUS mandatory   DESCRIPTION     “High current grace period in Milliseconds. When the outlet     Current rises above triCurHiBound, and stays above for longer     than this value, a trap will be generated. Care should be     taken not to set this too low, or the network might be      floodedwith traps if the current rapidly fluctuates around      triCurHiBound.”  ::= { triCurrentTrapEntry 7 } triOutletTrapped OBJECT-TYPE  SYNTAX INTEGER   ACCESS read-only   STATUS mandatory   DESCRIPTION     “The outlet that caused a trap (1-oNumber). This trap variable     is supplied for convenience. It should allow a management tool     to respond to outlet-specific traps with less parsing.”   ::= {tricom-8-traps 2 } tricomTotalCurrentCritical TRAP-TYPE   ENTERPRISEcyberswitching   VARIABLES { oTotCurrentStr, oTotCurrentFloat }  DESCRIPTION      “Total current has gone above unit's circuitprotection.”   ::= 1 tricomTotalCurrentWarning TRAP-TYPE   ENTERPRISEcyberswitching   VARIABLES { oTotCurrentStr, oTotCurrentFloat }  DESCRIPTION      “Total current has gone above rated unit capacity.”  ::= 2 tricomOutletLowCurrentWarning TRAP-TYPE   ENTERPRISEcyberswitching   VARIABLES { triOutletTrapped, oCurrentStr,oCurrentFloat }   DESCRIPTION      “Current has gone below triCurLoBoundand      stayed there for longer than triCurLoGracePeriod.”   ::= 3tricomOutletHighCurrentWarning TRAP-TYPE   ENTERPRISE cyberswitching  VARIABLES { triOutletTrapped, oCurrentStr, oCurrentFloat }  DESCRIPTION      “Current has gone above triCurHiBound and      stayedthere for longer than triCurHiGracePeriod.”   ::= 4 END

Embodiment in a Programmed Information Appliance

FIG. 29 is a block diagram showing a representative example logic devicein which various aspects of the present invention may be embodied. Aswill be understood to practitioners in the art from the teachingsprovided herein, the invention can be implemented in hardware and/orsoftware. In some embodiments of the invention, different aspects of theinvention can be implemented in either client-side logic or server-sidelogic. As will be understood in the art, the invention or componentsthereof may be embodied in a fixed media program component containinglogic instructions and/or data that when loaded into an appropriatelyconfigured computing device cause that device to perform according tothe invention. As will be understood in the art, a fixed mediacontaining logic instructions may be delivered to a viewer on a fixedmedia for physically loading into a viewer's computer or a fixed mediacontaining logic instructions may reside on a remote server that aviewer accesses through a communication medium in order to download aprogram component.

FIG. 29 shows an information appliance (or digital device) 700 that maybe understood as a logical apparatus that can read instructions frommedia 717 and/or network port 719, which can optionally be connected toserver 720 having fixed media 722. Apparatus 700 can thereafter usethose instructions to direct server or client logic, as understood inthe art, to embody aspects of the invention. One type of logicalapparatus that may embody the invention is a computer system asillustrated in 700, containing CPU 707, optional input devices 709 and711, disk drives 715 and optional monitor 705. Fixed media 717, or fixedmedia 722 over port 719, may be used to program such a system and mayrepresent a disk-type optical or magnetic media, magnetic tape, solidstate dynamic or static memory, etc. In specific embodiments, theinvention may be embodied in whole or in part as software recorded onthis fixed media. Communication port 719 may also be used to initiallyreceive instructions that are used to program such a system and mayrepresent any type of communication connection.

The invention also may be embodied in whole or in part within thecircuitry of an application specific integrated circuit (ASIC) or aprogrammable logic device (PLD). In such a case, the invention may beembodied in a computer understandable descriptor language, which may beused to create an ASIC, or PLD that operates as herein described.

Other Embodiments

The invention has now been described with reference to specificembodiments. Other embodiments will be apparent to those of skill in theart. In particular, a viewer digital information appliance has generallybeen illustrated as a personal computer. However, the digital computingdevice is meant to be any information appliance for interacting with aremote data application, and could include such devices as a digitallyenabled television, cell phone, personal digital assistant, laboratoryor manufacturing equipment, etc. It is understood that the examples andembodiments described herein are for illustrative purposes and thatvarious modifications or changes in light thereof will be suggested bythe teachings herein to persons skilled in the art and are to beincluded within the spirit and purview of this application and scope ofthe claims.

Furthermore, various different actions can be used to effect powermanagement. For example, a voice command may be spoken by the purchaser,a key may be depressed by the purchaser, a button on a client-sidescientific device may be depressed by the user, or selection using anypointing device may be effected by the user.

All publications, patents, and patent applications cited herein or filedwith this application, including any references filed as part of anInformation Disclosure Statement, are incorporated by reference in theirentirety.

Referring now to FIG. 31, a block schematic diagram of a powerdistribution apparatus according to an embodiment is set forth and giventhe general reference character 200. Apparatus 200 may include similarconstituents as apparatus 100 of FIG. 30 and such constituents may bereferred to by the same reference character.

Apparatus 200 may include a wall outlet 210, a power cord 220, a powerdistribution unit 230, load devices (LD1 to LD8), a network 240, and acomputer 250.

Power cord 220 may provide an electrical connection between wall outlet210 and an input terminal 232 of power distribution unit 230. Powerdistribution unit 230 may include a port 234 connected to network 240.Computer 250 may optionally be connected to network 240. Each loaddevice (LD1 to LD8) may be connected to a respective power distributionoutlet (PDO-1 to PDO-8) through a respective power cord (PC-1 to PC-8).

Power distribution unit 230 may include a processing unit 236 and amemory 238. Each power distribution outlet (PDO-1 to PDO-8) may have arespective circuit breaker unit (CB1 to CB8) associated therewith.Processing unit 236 may be connected to each circuit breaker unit (CB1to CB8) by way of a bus BUS.

The operation of the power distribution apparatus 200 will now bediscussed.

Each circuit breaker unit (CB1 to CB8) may be independently set to tripat an independent current value. A user may set the independent currentvalue for each circuit breaker unit (CB1 to CB8) at computer 250. Thesevalues may be transferred through network 240 to port 234 of PDU 230.Processing unit 236 may operate under the control of software stored inmemory 238 to sample current flowing through each circuit breaker unit(CB1 to CB8) by sending instructions and receiving current data valuesalong bus BUS. In this way, the current flowing between each powerdistribution outlet (PDO-1 to PDO-8) and each respective load device(LD1 to LD8) may be monitored.

Processing unit 236 may sample the current data values and capture adigital version of a current waveform of the current flowing througheach circuit breaker unit (CB1 to CB8). Processing unit 236 may thenperform parametric calculations on each waveform to provide the currentvalues to be used in a comparison step. In the comparison step,processing unit 236 may determine if the current value is greater thanthe previously programmed independent current value. If any of thecomparisons show the sampled current value is greater, then a tripcommand may be sent to the circuit breaker unit (CB1 to CB8) having theovercurrent condition. The trip command may instruct the circuit breakerunit (CB1 to CB8) to trip. In this way, each power distribution outlet(PDO-1 to PDO-8) may have an independently programmed current value(e.g., circuit breaker current rating). These independently programmedcurrent values may be changed by a user through a software interface atcomputer 250 at essentially any time.

The above-mentioned parametric calculation performed by processing unit236 on each current waveform may include peak current, root-mean-square(RMS) current, and crest factor harmonic current, as just a fewexamples.

In the above-mentioned operation, an overcurrent protection value may beindependently programmed for each power distribution outlet. In thiscase, the independently programmed current values may be set to protectload devices (LD1 to LD8) from current spikes, which may cause hardwaredamage. However, it may also be desirable to provide protection againstcurrent magnitudes that may only cause damage or adverse effects if acurrent magnitude is sustained for a predetermined time period. Such afeature of the embodiment of FIG. 2 will now be described in detail.

Each circuit breaker unit (CB1 to CB8) may be independently set to tripat an independent sustained current value over an independent timeperiod. A user may set the independent sustained current value andindependent time period for each circuit breaker unit (CB1 to CB8) atcomputer 250. These values may be transferred through network 240 toport 234 of PDU 230. Processing unit 236 may operate under the controlof software stored in memory 238 to sample current flowing through eachcircuit breaker unit (CB1 to CB8) by sending instructions and receivingcurrent data values along bus BUS. In this way, the current flowingbetween each power distribution outlet (PDO-1 to PDO-8) and eachrespective load device (LD1 to LD8) may be monitored.

Processing unit 236 may sample the current data values and capture adigital version of a current waveform of the current flowing througheach circuit breaker unit (CB1 to CB8). Processing unit 236 may thenperform parametric calculations on each waveform to provide the currentvalues to be used in a comparison step. In the comparison step,processing unit 236 may determine if the current value is greater thanthe previously programmed independent sustained current value. If any ofthe comparisons show the sampled current value is greater, thenprocessing unit 236 may re-sample the current data value of the circuitbreaker unit (CB1 to CB8) having the initial overcurrent condition afterthe independent time period for that circuit breaker unit (CB1 to CB8)has elapsed.

Then, processing unit 236 may capture a second digital version of acurrent waveform of the current flowing through the circuit breaker unit(CB1 to CB8) having the initial overcurrent condition. Processing unit236 can perform a second parametric calculation on a second capturedwaveform to provide a current value to be used in a second comparisonstep. In the second comparison step, processing unit 236 may determineif the current value is greater than the previously programmedindependent sustained current value. If the comparison shows the sampledcurrent value is still greater, then a trip command may be sent to thecircuit breaker unit (CB1 to CB8) having the sustained overcurrentcondition. The trip command may instruct the circuit breaker unit (CB1to CB8) to trip.

In this way, each power distribution outlet (PDO-1 to PDO-8) may have anindependently programmed protection against current magnitudes that mayonly cause damage or adverse affects if a current magnitude is sustainedfor a predetermined time period. The sustained current magnitudes andpredetermined time periods may be independently programmed for eachpower distribution outlet (PDO-1 to PDO-8). Alternately, a time periodthat is the same for all the power distribution outlets (PDO-1 to PDO-8)or a subset of power distribution outlets (PDO-1 to PDO-8) may be set orused as an initial default. These independently programmed currentvalues and time periods may be changed by a user through a softwareinterface at computer 250 at any time.

The above-mentioned parametric calculation performed by processing unit236 on each current waveform may include peak current, root-mean-square(RMS) current, and crest factor harmonic current, as just a fewexamples.

In the above-mentioned operation, the current values for each powerdistribution outlet (PDO-1 to PDO-8) are sampled. If an initialcomparison shows that there is a potential sustained overcurrentcondition, another sample is taken after a predetermined time period haselapsed. However, it may be desirable to continuously sample the currentvalue after the initial sample has indicated the potential sustainedovercurrent condition. In this case, the command for the circuit breakerunit (CB1 to CB8) to trip may only be executed if all of the pluralityof samples during the predetermined time period indicate the continuousovercurrent condition in the comparison step. In this way, dips belowthe continuous overcurrent condition may reset the algorithm back to theinitial sample and comparison steps.

In yet another feature of the embodiment of FIG. 2, a user mayindependently set a time percentage of overcurrent condition in apredetermined time period. In this way, sampling and comparison stepsmay be performed as in the above-mentioned continuous overcurrentcondition check. However, the trip command to the circuit breaker unit(CB1 to CB8) may only be executed if the overcurrent condition hasoccurred over a predetermined percentage of a predetermined time period.

Referring now to FIG. 32, a circuit schematic diagram of selectedportions of power distribution unit 230 according to an embodiment areset forth.

FIG. 32 illustrates a circuit breaker unit (CB1 to CB8) in detail. Onlythe details of circuit breaker unit CB1 are illustrated in order toavoid unduly cluttering up the figure. However, circuit breaker units(CB2 to CB8) may include essentially the same constituents.

Circuit breaker unit CB1 may include a switching circuit 320, a currentsampling circuit 330, and interface electronics 310. Circuit breakerunit CB1 may receive an input voltage from input terminal 232 and mayprovide an output voltage at power distribution outlet PDO-1. In thiscase, a 120 VAC may be received including a ground GND, neutral NEUTRALand hot HOT.

Ground GND may be connected to a base of power distribution unit 230, asone example. Neutral NEUTRAL may pass directly through to powerdistribution outlet PDO-1. Switching circuit 320 and current samplingcircuit 330 may be provided in series between the input terminal 232 andpower distribution outlet PDO-1 in the hot HOT signal path.

Interface electronics 310 may provide control for switching circuit 320and may sample current values provided by current sampling circuit 330.Interface electronics 310 may receive current values provided by currentsampling circuit 330 in an analog form and may include an analog todigital converter (not shown) to provide digital current values.According to control signals from interface electronics 310 a switchingcircuit 320 may be opened to interrupt current flowing between powerdistribution outlet PDO-1 and load device LD1 connected thereto(illustrated in FIG. 31). In a similar fashion, interface electronics310 may provide control for closing switching circuit 320 to allowcurrent to flow between power distribution outlet PDO-1 and load deviceLD1 connected thereto (illustrated in FIG. 2).

Switching circuit 330 may include a mechanical relay or a solid-staterelay, such as a thyristor, as just two examples. Current samplingcircuit 330 may include an isolation step down transformer, a Halleffect device, a sense resistor or a magnetometer, as just a fewexamples.

Processing unit 236 may provide commands to interface electronics 310based on an algorithm and programmed values (set as indicated above inthe operation of the embodiment of FIG. 2), which may be stored inmemory 238.

It is noted that each circuit breaker unit (CB1 to CB8) may commonlyreceive an input voltage from input terminal 232 and may provide anoutput voltage at a respective power distribution outlet (PDO-1 toPDO-8).

Memory 238 may be included on processing unit 236 or may be a separateintegrated circuit, as just one example.

It is also noted that a PDU 230 may also provide additional currentreadings beyond those of individual power distribution outlets (PDO-1 toPDO-8). In particular, a PDU 230 may logically divide power distributionoutlets (PDO-1 to PDO-8) into two or more banks. A current value foreach such bank can be generated and monitored in the same generalfashion as a power distribution outlet, as described above. As but onevery particular example, a bank current value may be generated bysumming current values of the respective power distribution outlets ofthe bank, or by an in-line monitoring structure (e.g., step-downtransformer) assuming separate power line wiring for each bank.

In addition, in alternate embodiments, circuit breaker trip actions canbe provided on a bank-by-bank basis. As but one example, individualcircuit breakers for all power distribution outlets of a bank can betripped essentially simultaneously in the event of a bank overcurrentcondition. Alternatively, assuming separate power line wiring for eachbank, a bank circuit breaker can be employed. Of course, limits for bankcurrent values may also be programmable.

Along these same lines, a PDU 230 can provide an overall unit currentreading for the PDU 230. As but one very particular example, a unitcurrent value may be generated by summing currents to all of the powerdistribution outlets of the PDU 230, or by an in-line monitoringstructure. Current limits for a PDU 230 can be programmable.

It follows that in alternate embodiments, circuit breaker trip actionscan be provided for the PDU 230. As but one example, individual circuitbreakers for all power distribution outlets of PDU 230 can be trippedessentially simultaneously in the event of a unit overcurrent condition.Alternatively, a unit circuit breaker can be employed.

In this way, warnings and/or circuit breaker trip actions can occur notonly on an outlet-by-outlet basis, but also on a bank-by-bank and/oroverall unit basis.

Referring now to FIG. 33, a user interface for inputting programmablevalues for the power distribution unit 230, such as that shown in FIG.32 is set forth and given the general reference character 400. Userinterface 400 may be a user interface on computer 250 of FIG. 31, forexample.

Referring now to FIG. 33 in conjunction with FIG. 31, user interface 400may include input boxes (410 to 480). Input box 410 may be used toselect one of the power distribution outlets (PDO-1 to PDO-8). Once thepower distribution outlet (PDO-1 to PDO-8) is selected, input boxes (420to 480) may be input with values or selected with, for example a mouseclick, to enable or disable features for the selected power distributionoutlet (PDO-1 to PDO-8) identified in input box 410.

Input box 420 may be used to enable low current alerts. A low currentalert may be used to notify a user when a current for a predeterminedpower distribution outlet (PDO-1 to PDO-8) has remained below a lowcurrent value for longer than a low grace period. Input box 430 may beused to provide the low current value and input box 440 may be used toprovide the low grace period. In this case, processing unit 236 maymonitor current flowing through the selected circuit breaker unit (CB1to CB8) by sending instructions and receiving current data values alongbus BUS. In this way, the current flowing between the selected powerdistribution outlet (PDO-1 to PDO-8) and a respective load device (LD1to LD8) may be monitored. If the current flowing through the selectedcircuit breaker unit (CB1 to CB8) remains below the low current value asindicated by input box 430 for longer than a low grace period asindicated by input box 440, a user may be notified. A user may benotified by a pop-up window alert on computer 250, as just one example.

Input box 450 may be used to enable high current alerts and input box460 may be used to enable the circuit breaker functions as describedabove with respect to FIGS. 31 and 32. A high current alert may be usedto notify a user when a current for a predetermined power distributionoutlet (PDO-1 to PDO-8) has remained above a high current value forlonger than a high grace period. Input box 470 may be used to providethe high current value and input box 480 may be used to provide the highgrace period. The high current value provided in input box 470 maycorrespond to a sustained current value as described above in theembodiment of FIG. 31. The high grace period provided in input box 480may correspond to the time period for the sustained current value asdescribed above in the embodiment of FIG. 31.

Other input boxes may be provided in the user interface 400. Forexample, an overcurrent protection value may be provided in an inputbox. In this way, each power distribution outlet (PDO-1 to PDO-8) may beprotected against currents that may be instantaneously destructive to aload device (LD1 to LD8) as described above with respect to theembodiment of FIG. 31. In this case, an overcurrent protection value maybe provided which may be just below a destructive value in order toprovide adequate protection margin for the load device (LD1 to LD8).

Yet other input boxes may be provided for the user interface 400. Forexample, a time percentage input box may be provided to enableprotection against a time percentage of overcurrent condition for apredetermined time period.

Each circuit breaker operating mode, destructive overcurrent, timeperiod overcurrent, or the like, may include input boxes for enabling ordisabling the operating mode as well as providing alerts to the user.

In FIG. 34, a user interface for monitoring the power distribution unit230 of FIG. 31 is set forth and given the general reference character500. User interface 500 may be a user interface on computer 250 of FIG.31, for example.

Referring now to FIG. 5 in conjunction with FIG. 31, user interface 500may include columns (510 to 570) of user information and icons forenabling functions.

Column 510 may include numbers for identifying the location of the powerdistribution outlet (PDO-1 to PDO-8) that the user information and iconson the row may correspond.

Column 520 may include an icon for identifying whether or not thecorresponding power distribution outlet (PDO-1 to PDO-8) is on, off, ortripped, as just a few examples. The icons of column 520 may have adifferent color to indicate a condition of the power distribution outlet(PDO-1 to PDO-8). For example, green may indicate “on”, black mayindicate “off”, and red may indicate “tripped”.

Column 530 may include an icon for manually turning on a correspondingpower distribution outlet (PDO-1 to PDO-8). Column 540 may include anicon for manually turning off a corresponding power distribution outlet(PDO-1 to PDO-8). When a power distribution outlet (PDO-1 to PDO-8) isin a “tripped” condition, it may be required to mouse click on the “OFF”icon before mouse clicking on the “ON” icon to reset the switchingcircuit 330 so that the power distribution outlet (PDO-1 to PDO-8) isreset to “on”.

Column 550 may include a clock icon. By mouse clicking on the clockicon, a window may be open that can allow you to program a time schedulefor the corresponding power distribution outlet (PDO-1 to PDO-8). A timeschedule may include turning on and turning off selected powerdistribution outlets (PDO-1 to PDO-8) at predetermined time periods in aday.

Column 560 may include a name for a corresponding power distributionoutlet (PDO-1 to PDO-8). The name may be, for example, the name of theload device (LD1 to LD8), such as printer, server, router, as just a fewexamples. In this way, the user may more conveniently identify the loaddevice (LD1 to LD8) for which the user information and icons forenabling functions may correspond.

Column 570 may include values of current flowing through each circuitbreaker unit (CB1 to CB8), which can correspond to current flowingbetween each power distribution outlet (PDO-1 to PDO-8) and respectiveload device (LD1 to LD8).

It is understood that although “mouse clicking” has been used as anexample for selecting features on the user interfaces (400 and 500) anyinput device may be used, for example, a keyboard, a touch screenpointer, or the like.

Although the user interface of FIG. 34 illustrates a status of powerdistribution outlets (PDO-1 to PDO-8) in a graphical form, simple textmay be used as well. For example, a “tripped” condition may be indicatedwith the word “trip” next to the corresponding power distribution outlet(PDO-1 to PDO-8) label.

The embodiment of FIG. 31 may be used in conjunction with other circuitprotection. For example, circuit protection for a wall outlet (210) mayalready be provided at a circuit breaker box. However, with theembodiment of FIG. 31, individual cord connected devices may havecustomized protection. For example, a breaker box may have a breakerrated at 15 Amps, but with the embodiment of FIG. 31, a load device (LD1to LD8) may have customized protection of 5 Amps. Such customizedprotection may be needed, for example, in a computer system or the like.

The apparatus 200 of FIG. 31 may prevent catastrophic current from oneload device (LD1 to LD8) from causing a circuit breaker to “trip” andinterrupt power to all the load devices as in the prior art. Instead,only the power distribution outlet (PDO-1 to PDO-8) which is providingpower to the load device (LD1 to LD8) having the catastrophic currentwill have power interrupted. This can be desirable in, for example, aseries of network devices all plugged into the PDU 230. In this way,only the offending network device will have power interrupted andemployee downtime may be reduced or eliminated.

Apparatus 200 may include other advantages. For example, when a hardwareupgrade occurs and a newly connected load device (LD1 to LD8) draws alarger current, problems may occur with the conventional approach ofFIG. 30. For example, if five load devices (LD1 to LD5) are connected toPDU 230 and each load device draws 3 amps and the outlet is protected at15 amps. Then, load device LD5 is changed to a load device that draws 5amps. With apparatus 200, only the newly connected load device LD5 mayhave power interrupted.

A circuit protection system as in apparatus 200 may be used to protectpower supplies. As one example, a plurality of supplies may be used toprovide current to a shared load that draws more current than a singlesupply can provide. By providing a circuit breaker unit (CB1 to CB8) toeach power supply, the power supplies may be protected. For example, ifone power supply goes bad, all the other power supplies may be protectedby programming the programmable current characteristics so that eachindividual circuit breaker unit (CB1 to CB8) disconnects the powersupply from the load if an overcurrent condition exists. In this way,all the power supplies may be protected.

In another case, a PDU may be connected to an outlet that can providemore current than the rating of the PDU. In this case, PDU 230 may beused and it can provide adequate self protection by properly programmingthe programmable current characteristics.

It is understood that the embodiments described above are exemplary andthe present invention should not be limited to those embodiments.Specific structures should not be limited to the described embodiments.

For example, in the embodiment of FIGS. 31 and 32, a power supply of 120VAC is received at input terminal 232. However, a power supply may be240 VAC. In this case, two “hot” wires may be used and switching circuit320 may provide a switch for both “hot” wires. In another example, a DCvoltage may be provided. In this case, a switching circuit 320 may onlyprovide a switch to the power supply voltage (VDD). Also, in the case ofa DC voltage, parametric calculations may not be necessary forprocessing unit 236 to perform.

Referring now to FIG. 35, a graph is set forth illustrating oneoperating mode for embodiments of the invention. FIG. 35 includes awaveform CB that represents the operation of a circuit breaker for anindividual outlet or bank of outlets. Waveform IOUT shows a currentoutput from such a circuit breaker. A current value IHI represents aprogrammed high limit, and is understood to be selectable by a user.

Referring still to FIG. 35, at time t0, current IOUT exceeds aprogrammed high limit IHI. Such a current value is detected for a givenoutlet/bank, compared by operation of software to the programmable limitIHI. Because the limit is exceeded, a “trip” value can be generated. Asbut one example, a processor may write a predetermined byte value to aregister that indicates a trip operation. In response to such a value, aswitching circuit opens the current path(s) for the outlet/bank.

Referring now to FIG. 36, a graph is set forth illustrating anotheroperating mode for embodiments of the invention. FIG. 36 includes thesame general waveforms as FIG. 35. In addition, FIG. 36 also shows awaveform FLAG HI that can represent a flag that indicates when a currentvalue first exceeds a limit. However, unlike the arrangement of FIG. 35,in the operation of FIG. 36 a PDU (e.g., 230) includes a programmablegrace period (tgrace). A circuit breaker for an outlet/bank will only betripped if the current value remains over the limit for the entire graceperiod.

Referring still to FIG. 36, at time t0, current IOUT exceeds aprogrammed high limit IHI. As a result, flag value FLAG HI is set(represented by a “1”).

At time t1, current IOUT falls below limit IHI prior to expiration ofgrace period (tgrace). Consequently, flag value FLAG HI is reset(represented by a return to “0”).

At time t2, current IOUT once again exceeds a programmed high limit IHI.As a result, flag value FLAG HI is once again set (represented by a“1”).

At time t3, current IOUT remains above limit IHI and the grace periodhas expired (i.e., flag value FLAG HI is still set). As a result, acircuit breaker can be tripped.

Referring now to FIG. 37, a graph is set forth illustrating yet anotheroperating mode for embodiments of the invention. FIG. 37 includes thesame general waveforms as FIG. 36. In addition, FIG. 37 also shows awaveform FLAG LOW that can represent a flag indicating when a currentvalue falls below a low current limit (ILOW), and a waveform LOW WARNINGthat can indicate a warning issued by a PDU. Unlike the arrangement ofFIG. 36, in the operation of FIG. 37 a PDU further includes a lowprogrammable grace period (tgraceL). In the very particular example, acircuit breaker for an outlet/bank will provide a warning if the currentvalue remains under the low limit for a low grace period (tgraceL).

Referring still to FIG. 37, at time t0, current IOUT exceeds aprogrammed high limit IHI. As a result, flag value FLAG HI is set(represented by a “1”).

At time t1, current IOUT falls below high programmed limit IHI. As aresult, flag value FLAG HI is reset (represented by a return to “0”).

At time t2, current IOUT falls below low programmed limit ILOW. As aresult, flag value FLAG LOW is set (represented by a “1”).

At time t3, current IOUT remains below limit ILOW and the low graceperiod (tgraceL) has expired (i.e., flag value FLAG LOW is still set).As a result, a low current warning can be issued.

Having described the structure and operation of various embodiments,methods according to the present invention will now be described.

Referring now to FIG. 38, one example of a method according to thepresent invention is set forth in a flow diagram and designated by thegeneral reference character 900. A method 900 can include programminghigh and low limits for all power distribution outlets of a PDU (step902). As but one example, such a method can include programming a PDU byway of an interface, as described above. In the very particular exampleof FIG. 38, current values for each separate power distribution outlet(referred to herein as “outlet”) may be examined sequentially, thus anoutlet count variable can be initialized (step 904). Of course, theinvention should not be construed as being limited to sequentialexamination/evaluation of outlet current values.

A method 900 can continue by acquiring a current for a given outlet(step 906). Such a step can include any of the various methods notedabove, and preferably includes capturing such a value in digital form.

A current value for a power distribution outlet may then be compared toa low limit (step 908). Such a step is preferably performed withsoftware. If an outlet current value (IOUT) is above a low limit (ILOW),a low flag and low timer can be cleared (if not already cleared) (steps910 and 912). If an outlet current value (IOUT) is below a low limit(ILOW), a low flag for the outlet can be examined (step 914).

If the outlet has not been previously flagged low, a low flag and lowtimer for the outlet can be set (steps 916 and 918). Setting a low timercan start a low grace period. If the outlet has been previously flaggedlow, the outlet is in a low grace period. A method 900 can then examineif the low grace period has expired (step 920). If a low grace periodhas expired, a method can take a predetermined action. In this case,such an action includes issuing a low warning (step 922). Of course,other actions could be taken.

In this way, separate power distribution outlets of the same PDU can beexamined for a low current condition, and action taken when a lowcurrent condition exists.

A method 900 may then proceed to examine a selected outlet for a highcurrent condition (step 924). Such a step is preferably performed withsoftware. If an outlet current value (IOUT) is below a high limit (IHI),a high flag and high timer can be cleared (if not already cleared)(steps 926 and 928). If an outlet current value (IOUT) is above a highlimit (IHI), a high flag for the outlet can be examined (step 924).

If the outlet has not been previously flagged high, a high flag and hightimer for the outlet can be set (steps 931 and 932). Setting a hightimer can start a high grace period. If, however, the outlet has beenpreviously flagged high, the outlet is in a high grace period. A method900 can then examine if the high grace period has expired (step 934). Ifa high grace period has expired, a method 900 can take a predeterminedaction. In this case, such an action includes tripping a circuit breakerfor such an outlet (step 936). Of course, other actions could be taken,including a warning, for example.

In this way, separate power distribution outlets of the same PDU can beexamined for a high current condition, and action taken when a highcurrent condition exists.

A method 900 can further include incrementing timers 938. In this way,high and/or low grace periods can continue to run.

A method 900 may then continue cycling, through examination of eachoutlet current by proceeding to a next outlet of the PDU, or returningto a first outlet of the PDU (steps, 940, 942 and 944).

The present invention can include monitoring/controlling on abank-by-bank or unit basis, in addition to an outlet-by-outlet basis.One example of such a method is shown in FIG. 39 and designated by thegeneral reference character 1000. A method 1000 can include programminga high limit for a PDU and for all banks within a PDU (step 1002). Asbut one example, such a method can include programming a PDU by way ofan interface, as described above.

In the very particular example of FIG. 39, a current value for anoverall PDU (i.e., unit) may first be examined (step 1004). Thus, amethod 1000 can continue by acquiring a total current for a PDU (step1006). Such a step can include any of the various methods noted above(e.g., totaling individual outlet and/or bank values, or separatelyacquiring such a value). Preferably, a step 1006 includes capturing sucha value in digital form.

A method 1000 may then continue in the same general fashion as method900, but with respect to a unit current value. A current value may thenbe compared to a high current limit (step 1006). Such a step ispreferably performed with software. If the total current value (ITOT) islower than a high limit (U_Hi), a high flag and high timer can becleared (if not already cleared (steps 1008 and 1010). If the totalcurrent value (ITOT) is lower than a high limit (U_Hi), a high flag canbe examined (step 1012).

If the high flag had not been previously set high, the high flag andhigh timer for the bank or unit can be set (steps 1014 and 1016).Setting the high timer can start a high grace period. If the high flaghas previously been set high, the power distribution bank or unit isalready in a high grace period. A method 1000 may then examine whetherthe high grace period has expired (step 1018).

However, as shown by step 1020, in the event of a high currentcondition, a method 1000 may include issuing a warning in addition to,or instead of, tripping a breaker for a unit.

A method 1000 may then proceed by comparing bank current values topredetermined limits. In the very particular example of FIG. 39, currentvalues for each separate bank may be examined sequentially (step 1024),thus a bank count variable can be initialized (step 1022). Of course,the invention should not be construed as being limited to sequentialexamination/evaluation of bank current values.

A method 1000 can continue by acquiring a total current for a bank (step1026). Such a step can include any of the various methods noted above(e.g., totaling individual outlet values, or separately acquiring such avalue). Preferably, a step 1026 includes capturing such a value indigital form.

A method 1000 may then continue in the same general fashion as method900, but with respect to bank current values. In step 1028, the highbank flag and high bank timer may be cleared if the bank current doesnot exceed the high bank current in a comparison step (step 1026).However, if the comparison step (step 1026) indicates that the bankcurrent exceeds the high bank current, then a check may be made to seeif the particular bank has already been flagged high (step 1032). If thehigh bank current has not previously been set high, then steps 1034 and1036, may set the high bank current and high bank timer. If the highbank timer had already been set high, a check may be made to see if thehigh bank timer has expired (step 1038).

If the high bank timer has expired, step 1040 may be performed. As shownby step 1040, in the event of a high current condition, a method 1000may include issuing a warning in addition to, or instead of, tripping abreaker for a bank.

If the high bank timer has not expired, step 1042 increments the highbank timer. Method 1000 may continue cycling through information of eachcurrent bank by proceeding to a next bank of outlets in the PDU (steps1044 and 1046). If the banks have been examined, the total PDU currentmay then be or individual outlets may be sampled again as the method1000 may proceed to step 1048.

FIG. 39 also illustrates how an outlet comparison flow can beincorporated into a unit/bank comparison flow. Thus, box 1048 caninclude an outlet examination method, such as that shown in FIG. 38, asbut one example.

An example of a software program function that may include the variousfeatures shown in FIGS. 38 and 39 is listed below. The software programmay be stored in memory 238, as but one example.

/* -------------------------------------------------------------- Copyright © 2003 - 2004 by Cyber Switching Inc. ALL RIGHTS RESERVED. ------------------------------------------------------------- */ voidOutletCurrentBoundTrapHandler(void) {   auto unsigned int i;   auto chartonum[6];   auto char tcurrent[8];   auto char tsetcurrent[8];   autofloat tfcurrent;   if(unitcurrenterrortraptimeout != 0)   {   if(gchk_timeout(unitcurrenterrortraptimeout))    unitcurrenterrortraptimeout = 0;   }  if(unitcurrentwarningtraptimeout != 0)   {   If(gchk_timeout(unitcurrentwarningtraptimeout))    unitcurrentwarningtraptimeout = 0;   }   tfcurrent =GetTotalCurrent( );   if(tfcurrent > UNIT_CURRENT_CAPACITY)   {   if(unitcurrenterrortraptimeout == 0)    {    sprintf(tcurrent,“%4.1f”,tfcurrent);    sprintf(tsetcurrent,“%4.1f”,BANK_CURRENT_CAPACITY);  AddLogEntry(LOGEVENT_ERRORUNITCURRENT,tcurrent,tsetcurrent,NULL); //Log high current violation.    TrapMyBitsUp(TRAP_UNITCURRENTCRITICAL,i);    unitcurrenterrortraptimeout = MS_TIMER+10000;  //  10 seconds tonext trap.    }   }   if(tfcurrent > UNIT_WARNING_CAPACITY)   {   if(unitcurrentwarningtraptimeout == 0)    {    sprintf(tcurrent,“%4.1f”,tfcurrent);    sprintf(tsetcurrent,“%4.1f”,BANK_CURRENT_CAPACITY);  AddLogEntry(LOGEVENT_WARUNITCURRENT,tcurrent,tsetcurrent,NULL); // Loghigh current violation.     TrapMyBitsUp(TRAP_UNITCURRENTWARNING,i);    unitcurrentwarningtraptimeout = MS_TIMER+60000;  //  60 seconds tonext trap.    }   }   for(i = 0; i < NUM_BANKS; i++)   {   if(bankcurrenterrortraptimeout[i] != 0)    {    if(gchk_timeout(bankcurrenterrotraptimeout[i]))     bankcurrenterrortraptimeout[i] = 0;    }   if(bankcurrentwarningtraptimeout[i] != 0)    {    if(gchk_timeout(bankcurrentwarningtraptimeout[i]))     bankcurrentwarningtraptimeout[i] = 0;    }    tfcurrent =GetBankCurrent(i);    if(tfcurrent > BANK_CURRENT_CAPACITY)    {    if(bankcurrenterrortraptimeout[i] == 0)     {      sprintf(tonum,“%d”,i+1);  // Bank Number      sprintf(tcurrent,“%4.1f”,tfcurrent);     sprintf(tsetcurrent,“%4.1f”,BANK_CURRENT_CAPACITY);  AddLogEntry(LOGEVENT_ERRORBANKCURRENT,tonum,tcurrent,tsetcurrent);  // Log high current violation.     TrapMyBitsUp(TRAP_BANKCURRENTCRITICAL,i);     bankcurrenterrortraptimeout[i] = MS_TIMER+10000; // 10 seconds tonext trap.     }    }    else if(tfcurrent > BANK_WARNING_CAPACITY)    {    if(bankcurrentwarningtraptimeout[i] == 0)     {     sprintf(tonum,“%d”,i+1);  // Bank Number     sprintf(tcurrent,“%4.1f”,tfcurrent);     sprintf(tsetcurrent,“%4.1f”,BANK_WARNING_CAPACITY);  AddLogEntry(LOGEVENT_WARNBANKCURRENT,tonum,tcurrent,tsetcurrent);  //Log high current violation.     TrapMyBitsUp(TRAP_BANKCURRENTWARNING,i);     bankcurrentwarningtraptimeout[i] = MS_TIMER+60000; // 60 seconds tonext trap.     }    }   }   for(i = 0; i < MAX_OUTLET_NUM; i++)   {   if(boundtrapenables[i]&LOBOUNDTRAP_ENABLE)    {    if(GetOutletCurrent(i+1) < ocurrentlow[i])     {     if(boundtraplotimeouts[i] != 0)      {      if(gchk_timeout(boundtraplotimeouts[i]))       {       sprintf(tonum,“%d”,i+1);  sprintf(tcurrent,“%4.1f”,GetOutletCurrent(i+1));  sprintf(tsetcurrent,“%4.1f”,ocurrentlow[i]);  AddLogEntry(LOGEVENT_LOWCURRENT,tonum,tcurrent,tsetcurrent);   // Loglow current violation.   TrapMyBitsUp(TRAP_OUTLETLOWCURRENTWARNING,i);       boundtrapenables[i] |= LOBOUNDTRAP_TRAPPED; // set trapped flag.       boundtraplotimeouts[i] = 0;       }      }      elseif(!(boundrapenables[i]&LOBOUNDTRAP_TRAPPED))      {      boundtraplotimeouts[i] = MS_TIMER+boundtraplograce[i];      if(!boundtraplotimeouts[i])        boundtraplotimeouts[i]++;     }     }     else     {      boundtraplotimeouts[i] = 0;     boundtrapenables[i] &= ~LOBOUNDTRAP_TRAPPED;  // Remove trappedflag.     }    }   if((boundtrapenables[i]&HIBOUNDTRAP_ENABLE) | |(boundtrapenables[i]&HIB OUNDTRIP_ENABLE))    {    if(GetOutletCurrent(i+1) > ocurrenthi[i])     {     if(boundtraphitimeouts[i] != 0)      {      if(gchk_timeout(boundtraphitimeouts[i]))       { #ifdef PLUS_MODEL  if(boundtrapenables[i]&HIBOUNDTRIP_ENABLE)        setOutletState(i+1,OS_TRIPPED); #endif      sprintf(tonum,“%d”,i+1);  sprintf(tcurrent,“%4.1f”,GetOutletCurrent(i+1));  sprintf(tsetcurrent,“%4.1f”,ocurrenthi[i]);  AddLogEntry(LOGEVENT_HIGHCURRENT,tonum,tcurrent,tsetcurrent);   // Loghigh current violation;   if(boundtrapenables[i]&HIBOUNDTRAP_ENABLE)  TrapMyBitsUp(TRAP_OUTLETHIGHCURRENTWARNING,i); #ifdef PLUS_MODEL  if(boundtrapenables[i]&HIBOUNDTRIP_ENABLE)        {  TrapMyBitsUp(TRAP_OUTLETTRIPPED,i);  AddLogEntry(LOGEVENT_OUTLETTRIPPED,tonum,NULL,NULL);  // Log outlettrip.        } #endif        boundtrapenables[i] |= HIBOUNDTRAP_TRAPPED;// set trapped flag.        boundtraphitimeouts[i] = 0;       }      }     else if(!(boundtrapenables[i]&HIBOUNDTRAP_TRAPPED))      {      boundtraphitimeouts[i] = MS_TIMER+boundtraphigrace[i];      if(!boundtraphitimeouts[i])        boundtraphitimeouts[i]++;     }     }     else     {      boundtraphitimeouts[i] = 0;     boundtrapenables[i]&= ~HIBOUNDTRAP_TRAPPED;  // Remove trappedflag.     }    }   } }

It is understood the above embodiments and portions thereof have beenset forth in flow diagrams and a particular computer language, thisshould not be construed as limiting the invention thereto. One skilledin the art could arrive at alternate arrangements utilizing otherprogramming language, including but not limited to all C variants (e.g.,C++), Java, etc. and resulting compiled forms. Further, such embodimentsmay also comprise hardware design langauges, including but not limitedto Verilog and VHDL.

In addition, it is understood that other embodiments of this inventionmay be practiced in the absence of an element/step not specificallydisclosed herein. Thus, while methods have been illustrated that includea grace period for high and/or low events, alternate embodiments may notinclude such grace periods. Further, alternate embodiments may includemultiple limits, some which include grace periods and others that donot.

While 8 load devices have been shown, any number of devices can be usedin connection with this invention. Similarly, while a network 240 hasbeen shown, computer 250 can communicate directly with one or more of:port 234, processing unit 236, and/or memory with software 238.

Accordingly, while the various particular embodiments set forth hereinhave been described in detail, the present invention could be subject tovarious changes, substitutions, and alterations without departing fromthe spirit and scope of the invention. Accordingly, the presentinvention is intended to be limited only as defined by the appendedclaims.

1. A current protection apparatus, comprising: a current samplingcircuit that samples a first current value consisting of a currentflowing from a power source to a first load device; a processing unitcoupled to receive the first current value and controlled by a softwareprogram to compare the first current value with a predetermined currentlimit value to generate a first compare result; and a switching circuitcoupled between the power source and the first load device, theswitching circuit interrupting the current flowing from the power sourceto the load device in response to at least the first compare resultindicating that the first current value exceeds the predeterminedcurrent limit value.
 2. The current protection apparatus according toclaim 1, wherein: the predetermined current limit value is programmableby a user.
 3. The current protection apparatus according to claim 1,wherein: the current sampling circuit samples a second current valueconsisting of the current flowing from the power source to the firstload device a first predetermined time period after the first currentvalue is sampled; the processing unit receives the second current valueand is controlled by the software program to compare the second currentvalue with the predetermined current limit value to generate a secondcompare result; and the switching circuit interrupts the current flowingfrom the power source to the load device in response to the secondcompare result indicating that the second current value exceeds thepredetermined current limit value.
 4. The current protection apparatusaccording to claim 3, wherein: the first predetermined time period isprogrammable by a user.
 5. The current protection apparatus according toclaim 3, wherein the current sampling circuit samples a plurality ofintermediate current values consisting of the current flowing from thepower source to the first load device during the first predeterminedtime period after the first current value is sampled; the processingunit receives the plurality of intermediate current values and iscontrolled by the software program to compare the plurality ofintermediate current values with the predetermined current limit valueto generate a plurality of intermediate compare results; and theswitching circuit interrupts the current flowing from the power sourceto the load device in response to the plurality of intermediate compareresults indicating each of the plurality of intermediate current valuesexceeds the predetermined current limit value and the second compareresult indicating that the second current value exceeds thepredetermined current limit value.
 6. The current protection apparatusaccording to claim 1, wherein: the current sampling circuit includes ananalog to digital converter.
 7. The current protection apparatusaccording to claim 1, wherein: the switching circuit includes a switchselected from the group consisting of a mechanical relay and solid staterelay.
 8. The current protection apparatus according to claim 1,wherein: the current sampling circuit includes a current sensing circuitselected from the group consisting of an isolation step downtransformer, a Hall effect device, a sense resistor, and a magnetometer.9. The current protection apparatus according to claim 1, wherein: theswitching circuit automatically interrupts the current flowing from thepower source to the load device in response to at least the firstcompare result indicating that the first current value exceeds thepredetermined current limit value.
 10. A current protection apparatusfor a power distribution unit, comprising: a current sampling circuitthat samples a first current value of a first current flowing from afirst power distribution outlet to a first load device and a secondcurrent value of a second current flowing from a second powerdistribution outlet to a second load device; a processing unit coupledto receive the first current value and the second current value andcontrolled by a software program to compare the first current value witha first predetermined current limit value to generate a first comparisonresult and compare the second current value with a second predeterminedcurrent limit value to generate a second comparison result; a firstswitching circuit coupled between the first power distribution outletand the first load device, the first switching circuit interrupting thefirst current flowing from the first power distribution outlet to thefirst load device in response to at least the first compare resultindicating that the first current value exceeds the first predeterminedcurrent limit value; and a second switching circuit coupled between thesecond power distribution outlet and the second load device, the secondswitching circuit interrupting the second current flowing from thesecond power distribution outlet to the second load device in responseto at least the second compare result indicating that the second currentvalue exceeds the second predetermined current limit value.
 11. Thecurrent protection apparatus for a power distribution unit according toclaim 10, wherein: the first predetermined current limit value and thesecond predetermined current limit value are programmable.
 12. Thecurrent protection apparatus for a power distribution unit according toclaim 10, wherein: the current sampling circuit samples a third currentvalue of the current flowing from the first power distribution outlet tothe first load device a first predetermined time period after the firstcurrent value is sampled when the first current value exceeds the firstpredetermined current limit value and samples a fourth current value ofthe current flowing from the second power distribution outlet to thesecond load device a second predetermined time period after the secondcurrent value is sampled when the second current value exceeds thesecond predetermined current limit value; the processing unit receivesthe third current value if the first current value exceeds the firstpredetermined current limit value and is controlled by the softwareprogram to compare the third current value with the first predeterminedcurrent limit value to generate a third comparison result and receivesthe fourth current value if the second current value exceeds the secondpredetermined current limit value and is controlled by the softwareprogram to compare the fourth current value with the secondpredetermined current limit value to generate a fourth comparisonresult; the first switching circuit interrupting the first currentflowing from the first power distribution outlet to the first loaddevice in response to the third compare result indicating that the thirdcurrent value exceeds the first predetermined current limit value; andthe second switching circuit interrupting the second current flowingfrom the second power distribution outlet to the second load device inresponse to the fourth compare result indicating that the fourth currentvalue exceeds the second predetermined current limit value.
 13. Thecurrent protection apparatus for a power distribution unit according toclaim 12, wherein: the first predetermined time period and the secondpredetermined time period are the same.
 14. The current protectionapparatus for a power distribution unit according to claim 12, wherein:the first predetermined time period and the second predetermined timeperiod are different.
 15. The current protection apparatus for a powerdistribution unit according to claim 12, wherein: the firstpredetermined time period and the second predetermined time period areprogrammable by a user.
 16. The current protection apparatus for a powerdistribution unit according to claim 10, wherein: the power distributionunit includes the first power distribution outlet and the second powerdistribution outlet.
 17. A current protection apparatus for a powerdistribution unit, comprising a current sampling circuit that samples aplurality of first current values, each first current valuecorresponding to a current flowing from one of a plurality of powerdistribution outlets to a corresponding one of a plurality of loaddevices; a processing unit coupled to receive the plurality of firstcurrent values and controlled by a software program to compare each ofthe plurality of first current values with a corresponding one of aplurality of predetermined current limit values to generate a pluralityof first compare results; and a plurality of switching circuits, eachone of the plurality of switching circuits coupled between one of theplurality of power distribution outlets and a corresponding one of theplurality of load devices, each one of the plurality of switchingdevices interrupting the corresponding one of the plurality of currentsflowing between one of the plurality of power distribution outlets andthe corresponding one of the plurality of load devices in response to atleast the corresponding one of the plurality of first compare resultsindicating that the corresponding one of the plurality of first currentvalues is greater than the corresponding one of the plurality ofpredetermined current limit values.
 18. The current protection apparatusfor a power distribution unit of claim 17, wherein: each one of theplurality of predetermined current limit values is programmable.
 19. Thecurrent protection apparatus for a power distribution unit of claim 17,wherein: when the corresponding one of the plurality of compare resultsindicates that the corresponding one of the plurality of current valuesis greater than the corresponding one of the plurality of current limitvalues, the current sampling circuit samples at least a second currentvalue corresponding to the current flowing from the one of the pluralityof power distribution outlets to the corresponding one of the pluralityof load devices a predetermined time period after the sampling of thecorresponding first current value; the processing unit coupled toreceive the at least second current value and controlled by the softwareprogram to compare the at least second current value with thecorresponding one of a plurality of predetermined current limit valuesto generate a second compare result; the corresponding one of theplurality of switching devices interrupting the corresponding one of theplurality of currents flowing between one of the plurality of powerdistribution outlets and the corresponding one of the plurality of loaddevices in response to at least the second compare result indicatingthat the second current value is greater than the corresponding one ofthe plurality of predetermined current limit values.
 20. The currentprotection apparatus for a power distribution unit of claim 19, wherein:the predetermined time period is programmable by a user.
 21. The currentprotection apparatus for a power distribution unit of claim 19, wherein:the power distribution unit includes the plurality of power distributionoutlets, the current sampling circuit, the processing unit, and theplurality of switching circuits.